:root{--bg:#f4f5f0;--paper:#fff;--ink:#21372e;--muted:#748278;--line:#e3e8df;--green:#27614b;--deep:#163e33;--lime:#d5edc5;--orange:#b77a31;--red:#b84e45;--radius:16px;--shadow:0 14px 45px #173d3110;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-color:#509b6a;outline-offset:3px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--green)}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.2;letter-spacing:-.8px;font-weight:650}h2{font-size:18px;font-weight:650;letter-spacing:-.25px}h3{font-size:15px;font-weight:650}p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:Consolas,monospace}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.svg-icon{width:19px;height:19px;display:inline-block;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.brand-mark{background:var(--lime);color:var(--deep);width:44px;height:44px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;font-size:29px;font-weight:700}.boot{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.layout{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--deep);color:#eaf1e9;padding:30px 19px 20px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:246px;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 9px}.brand b{font-size:21px;letter-spacing:2px}.brand small{display:block;color:#a7bcb1;margin-top:3px;font-size:10px;letter-spacing:1.4px}.sidebar-section{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:#87a397;padding:29px 14px 10px}.nav{display:grid;gap:4px}.nav button{display:flex;gap:12px;align-items:center;text-align:left;border:0;background:none;color:#bcd0c5;padding:12px 14px;border-radius:10px;transition:background .15s}.nav button:hover{background:#ffffff0d;color:#fff}.nav button.active{background:var(--lime);color:var(--deep);font-weight:600}.nav .count{margin-left:auto;background:#ffffff20;border-radius:5px;padding:2px 6px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:22px}.system-label{display:flex;gap:8px;align-items:center;padding:13px 14px;color:#a6c0b0;font-size:11px;border:1px solid #ffffff12;border-radius:10px}.dot{width:7px;height:7px;border-radius:50%;background:#72b98a;display:inline-block;flex-shrink:0}.dot.offline{background:#a4ada4}.dot.warning{background:#d1a061}.sidebar-profile{display:flex;gap:10px;align-items:center;margin-top:18px;padding:14px 8px 0;border-top:1px solid #ffffff14}.avatar{width:36px;height:36px;border-radius:11px;object-fit:cover;background:#e4ecdc;color:var(--green);display:inline-flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.sidebar-profile .avatar{background:#2e5847;color:var(--lime)}.profile-name{max-width:135px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile small{display:block;color:#95b09f;font-size:10px;margin-top:3px}.main{grid-column:2;padding:0 42px 36px;min-width:0}.topbar{height:79px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;gap:16px}.topbar .company{display:flex;align-items:center;gap:9px}.topbar-right{display:flex;gap:18px;align-items:center}.pill{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:20px;background:#e9eee5;color:#62765e;font-size:11px;white-space:nowrap}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:34px 0 27px}.eyebrow{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.page-head p{margin-top:9px;color:var(--muted);font-size:13px}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 15px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:550;font-size:12px;text-decoration:none;white-space:nowrap;transition:transform .12s,background .12s}.btn:hover{background:#edf2e8;border-color:#bdcdbb}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.primary:hover{background:#1c4c3a}.btn.danger{color:var(--red);border-color:#ecd3cf}.btn.light{background:#ffffff0c;border-color:#ffffff1f;color:white}.btn.small-btn{padding:7px 10px;font-size:11px}.icon-btn{background:none;border:0;color:var(--muted);padding:7px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{background:#edf2e8;color:var(--green)}.icon-btn.danger:hover{color:var(--red);background:#faeeeb}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-header{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-header p{font-size:12px;color:var(--muted);margin-top:4px}.card-body{padding:24px}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:1.15fr 1fr}.grid.equal{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:23px}.metric{padding:22px 23px;position:relative}.metric-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.metric-icon{color:var(--green);background:#f0f5ec;padding:9px;border-radius:10px;margin-top:-3px}.metric-number{font-size:36px;letter-spacing:-1.5px;line-height:1.2;font-weight:600;margin-top:10px}.metric-bottom{font-size:11px;color:var(--muted);margin-top:9px}.welcome{background:var(--deep);color:#f5faef;padding:26px 29px;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px;position:relative;overflow:hidden}.welcome:after{content:'';position:absolute;border:1px solid #d7ecc320;border-radius:50%;width:250px;height:250px;right:-50px;top:-75px;pointer-events:none}.welcome h2{font-size:21px;letter-spacing:-.5px}.welcome p{font-size:12px;color:#bfd3c2;margin-top:8px;max-width:610px}.welcome .shield{background:#d5edc519;border:1px solid #d5edc526;padding:18px;border-radius:17px;color:var(--lime);z-index:1}.welcome .shield svg{width:34px;height:34px}.spacer{height:22px}.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:17px 22px;border-bottom:1px solid var(--line)}.search{position:relative;min-width:220px;max-width:380px;flex:1}.search svg{position:absolute;left:12px;top:10px;color:#93a08f;width:16px;height:16px}.search input{width:100%;padding:9px 12px 9px 37px;background:#f6f8f3;border:1px solid var(--line);border-radius:8px;font-size:12px}.tabs{display:flex;gap:5px;flex-wrap:wrap;background:#e9eee4;padding:4px;border-radius:9px}.tabs button{padding:8px 13px;border:0;border-radius:7px;background:none;color:var(--muted);font-size:12px}.tabs button.active{background:white;color:var(--green);box-shadow:0 2px 6px #123f3010;font-weight:600}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-weight:500;color:var(--muted);font-size:10px;letter-spacing:.5px;padding:13px 23px;background:#fafbf8;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 23px;border-bottom:1px solid #edf0e9;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdf9}td strong{font-weight:600}td .sub{font-size:11px;color:var(--muted);margin-top:4px}.nowrap{white-space:nowrap}.badge{display:inline-flex;gap:6px;align-items:center;font-size:10px;padding:5px 8px;border-radius:6px;background:#eaf2e4;color:#548047;white-space:nowrap}.badge.warning{color:#a17432;background:#fbf1df}.badge.danger{color:#b55a50;background:#f9eae6}.badge.neutral{color:#7b847a;background:#f0f2ec}.badge.blue{color:#50748e;background:#eaf1f5}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:235px;padding:36px 25px;gap:11px}.empty .empty-icon{padding:18px;border-radius:18px;background:#f1f5ed;color:#94ab8a;margin-bottom:5px}.empty .empty-icon svg{width:30px;height:30px}.empty p{font-size:12px;color:var(--muted);max-width:380px}.empty .btn{margin-top:8px}.row-list{padding:0 23px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:18px 0}.list-row:last-child{border:0}.list-main{display:flex;align-items:center;gap:12px;min-width:0}.list-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#f0f5ea;color:#709366;border-radius:10px;flex-shrink:0}.list-row strong{font-size:12px}.list-row .sub{color:var(--muted);font-size:11px;margin-top:5px}.card-footer{background:#fafbf7;border-top:1px solid var(--line);padding:13px 23px;font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:10px}.subnets-overview{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:22px}.subnet-mini{border:1px solid var(--line);border-radius:11px;padding:15px}.subnet-mini .line{display:flex;justify-content:space-between;align-items:center}.subnet-mini b{font-family:Consolas,monospace;font-size:12px}.subnet-mini p{font-size:11px;color:var(--muted);margin-top:13px}.subnet-mini .bar{height:4px;background:#edf2e8;border-radius:8px;margin-top:10px;overflow:hidden}.subnet-mini .bar span{display:block;height:100%;background:#7da967;border-radius:8px;min-width:0}.note{background:#ecf2e6;border:1px solid #dfe9d6;border-radius:11px;padding:15px 18px;display:flex;gap:11px;align-items:flex-start;color:#58704c;font-size:12px;line-height:1.6;margin-bottom:20px}.note.warning{background:#fbf4e7;color:#8f703d;border-color:#f0e4ce}.note .svg-icon{margin-top:2px;flex-shrink:0}.secret{display:flex;align-items:center;gap:4px}.secret-value{font-family:Consolas,monospace;max-width:220px;overflow-wrap:anywhere}.vault-group{margin-bottom:15px}.vault-group summary{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none}.vault-group summary::-webkit-details-marker{display:none}.vault-group .group-title{display:flex;align-items:center;gap:14px}.vault-group .group-title .svg-icon.chevron{transition:transform .2s;color:#9aaa93}.vault-group[open] .chevron{transform:rotate(90deg)}.vault-group[open] summary{border-bottom:1px solid var(--line)}.vault-group summary p{font-size:11px;color:var(--muted);margin-top:5px}.vault-group summary .actions{flex-wrap:nowrap}.status-strip{display:flex;gap:30px;padding:20px 25px;flex-wrap:wrap}.status-item{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.status-item b{color:var(--ink)}.network-tools{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.ip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px;padding:22px}.device-tile{border:1px solid var(--line);border-radius:12px;padding:17px;display:flex;flex-direction:column;gap:12px;background:#fcfdfa}.device-tile.offline{opacity:.72}.device-tile .line{display:flex;justify-content:space-between;align-items:center;gap:10px}.device-tile strong{font-size:13px}.device-tile .ip{font-family:Consolas,monospace;font-size:11px;color:var(--muted)}.device-tile .label{min-height:17px;font-size:11px;color:var(--muted)}.device-tile .small{font-size:10px;color:#99a291}.progress{height:6px;border-radius:9px;background:#e6eee0;overflow:hidden;min-width:90px}.progress span{height:100%;display:block;background:#6a9b55;transition:width .2s}.backup-cards{display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:24px}.backup-job{padding:22px}.backup-job .title-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.backup-job .job-pc{font-family:Consolas,monospace;font-size:11px;color:var(--muted);margin:8px 0 19px}.job-meta{display:grid;gap:10px;margin:15px 0 20px;font-size:11px}.job-meta .meta-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;color:var(--muted)}.job-meta .meta-row span:last-child{color:var(--ink);text-align:right;overflow-wrap:anywhere;max-width:70%}.backup-job .actions{border-top:1px solid var(--line);padding-top:17px}.backup-job .actions .btn{margin-right:auto}.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:17px}.task-card{padding:22px;display:flex;flex-direction:column}.task-card.done{background:#fafcf7}.task-card .line{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.task-card h3{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.task-description{font-size:12px;color:var(--muted);margin:10px 0 22px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.task-person{display:flex;gap:9px;align-items:center;margin-top:auto;font-size:11px;padding-top:14px;border-top:1px solid var(--line)}.task-person .avatar{width:28px;height:28px;border-radius:8px;font-size:10px}.task-person small{display:block;color:var(--muted);margin-bottom:3px;font-size:9px}.task-card .actions{margin-top:16px}.task-card .actions .btn{flex:1}.task-creator{font-size:10px;color:#94a08e;margin-top:13px}.task-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px;flex-wrap:wrap}.task-filters{display:flex;gap:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px}.field.wide{grid-column:1/-1}.field label{font-weight:550;color:#4c6456}.field input,.field select,.field textarea{padding:11px 12px;border:1px solid #dbe3d5;border-radius:8px;background:#fbfcf8;color:var(--ink);width:100%;font-size:13px;min-width:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:#6c9c62;outline:2px solid #79a86418;background:white}.field textarea{min-height:90px;resize:vertical;line-height:1.5}.field .help{font-size:10px;color:var(--muted);line-height:1.5}.check-field{display:flex;align-items:center;gap:9px;font-size:12px}.check-field input{width:16px;height:16px;accent-color:var(--green)}.profile-card{display:flex;flex-direction:column;align-items:center;padding:35px 25px;text-align:center}.profile-card .avatar{width:94px;height:94px;border-radius:27px;font-size:30px;margin-bottom:17px}.profile-card h2{margin-bottom:8px}.profile-card .btn{margin-top:20px}.stack{display:grid;gap:20px}.settings-detail{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-detail dt{font-size:11px;color:var(--muted);margin-bottom:8px}.settings-detail dd{margin:0;font-size:12px;font-weight:600}.section-form{padding:24px}.section-form .actions{margin-top:22px}.section-description{font-size:12px;color:var(--muted);margin-bottom:20px;line-height:1.7}.log{background:#f7f9f3;border:1px solid var(--line);border-radius:9px;padding:13px 15px;font-family:Consolas,monospace;font-size:11px;max-height:280px;overflow:auto;white-space:pre-wrap;line-height:1.8}.log .error{color:var(--red)}.log .warning{color:var(--orange)}.run-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.run-stats div{border:1px solid var(--line);border-radius:9px;padding:13px}.run-stats b{display:block;font-size:21px;margin-bottom:4px}.run-stats span{font-size:10px;color:var(--muted)}.files-table{max-height:250px;overflow:auto;border:1px solid var(--line);border-radius:9px}.files-table td,.files-table th{padding:10px 12px;font-size:10px}.form-section-title{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin:21px 0 13px}.account-editor{border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:12px}.account-editor .actions{justify-content:space-between;margin-bottom:13px}.account-editor .form-grid{gap:12px}.form-error{color:var(--red);font-size:12px;margin-top:16px}.account-add{display:block;width:100%;border:1px dashed #bbccb2;border-radius:9px;background:#f7faf3;color:var(--green);padding:11px;font-size:12px}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-art{background:var(--deep);color:#eff6e8;padding:55px 65px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-art:before,.auth-art:after{content:'';border:1px solid #e2f3c91c;border-radius:50%;position:absolute;pointer-events:none}.auth-art:before{width:600px;height:600px;right:-280px;bottom:-160px}.auth-art:after{width:420px;height:420px;right:-190px;bottom:-70px}.auth-art .brand{padding:0}.auth-message{position:relative;z-index:1;max-width:480px;margin:60px 0}.auth-message .eyebrow{color:#a4c096}.auth-message h1{font-size:44px;font-weight:550;line-height:1.2;letter-spacing:-1.6px}.auth-message h1 span{color:var(--lime)}.auth-message p{color:#a7bfb1;font-size:14px;margin-top:22px;max-width:380px}.auth-features{display:grid;gap:16px;margin-top:36px;color:#c4d7c8;font-size:12px}.auth-features div{display:flex;align-items:center;gap:12px}.auth-features svg{color:var(--lime)}.auth-footer{color:#93af9e;font-size:11px;z-index:1}.auth-main{display:flex;align-items:center;justify-content:center;padding:45px 30px}.auth-form{width:100%;max-width:380px}.auth-form h2{font-size:27px;letter-spacing:-.7px}.auth-form>p{color:var(--muted);font-size:13px;margin:11px 0 27px}.auth-form .field{margin-bottom:19px}.auth-form .btn.primary{width:100%;padding:13px;margin-top:10px;font-size:13px}.auth-switch{display:flex;gap:8px;margin-bottom:30px;border-bottom:1px solid var(--line)}.auth-switch button{border:0;background:none;padding:12px 13px;color:var(--muted);border-bottom:2px solid transparent;font-size:12px}.auth-switch button.active{color:var(--green);border-bottom-color:var(--green);font-weight:600}.auth-help{margin-top:24px;text-align:center;color:var(--muted);font-size:11px;line-height:1.8}.auth-success{background:#e8f2e1;border-radius:10px;padding:18px;margin:20px 0;color:var(--green);font-size:13px;line-height:1.6}.mobile-menu{display:none}dialog{padding:0;border:1px solid var(--line);border-radius:18px;width:650px;max-width:calc(100vw - 36px);max-height:calc(100vh - 50px);box-shadow:0 25px 110px #082a2a38;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#17312870;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:23px 27px;border-bottom:1px solid var(--line);background:#fafcf6}.modal-head h2{font-size:20px}.modal-body{padding:25px 27px;overflow:auto}.modal-foot{padding:18px 27px;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--line);background:#fafcf6}dialog.wide-modal{width:900px}.modal-foot .form-error{margin-right:auto;margin-top:0;max-width:330px;line-height:1.5}#toasts{position:fixed;bottom:24px;right:25px;display:grid;gap:10px;z-index:100}.toast{border:1px solid #cfdcc6;border-radius:11px;background:#fff;color:var(--green);padding:15px 20px;box-shadow:var(--shadow);max-width:400px;display:flex;gap:12px;align-items:center;font-size:12px;animation:appear .2s}.toast.error{color:var(--red);border-color:#e3c9c4}.footer-text{color:#9aa391;font-size:10px;margin-top:28px;display:flex;justify-content:space-between;gap:10px}.error-page{padding:24px;border:1px solid #efd3c9;border-radius:12px;background:#fff6f0;color:#ab6150}.loading{min-height:200px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.loading:before{content:'';height:16px;width:16px;border:2px solid #dce7d3;border-top-color:var(--green);border-radius:50%;margin-right:10px;animation:spin 1s linear infinite}.user-list .avatar{margin-right:10px;width:31px;height:31px;font-size:10px;vertical-align:middle}.user-name{display:flex;align-items:center;gap:9px}.hide{display:none!important}.chip-row{display:flex;gap:7px;flex-wrap:wrap}.rule-result{padding:9px 12px;border-radius:7px;background:#edf4e6;font-size:11px;margin-top:6px;display:flex;gap:10px;justify-content:space-between}.rule-result.skip{background:#fbefe9;color:#a46752}.danger-text{color:var(--red)}.break{overflow-wrap:anywhere}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1600px){.main{padding-left:60px;padding-right:60px}.page-head{margin-top:40px}.metrics{gap:22px}}
@media(max-width:1200px){.layout{grid-template-columns:216px minmax(0,1fr)}.sidebar{width:216px;padding:24px 13px 17px}.main{padding:0 25px 25px}.nav button{font-size:12px;padding:11px 12px;gap:10px}.grid.two{grid-template-columns:1fr 1fr}.metrics{gap:10px}.metric{padding:18px 16px}.metric-icon{padding:7px}.metric-number{font-size:31px}.topbar .company{font-size:11px}.auth-art{padding:40px}.auth-message h1{font-size:38px}}
@media(max-width:950px){.metrics{grid-template-columns:1fr 1fr}.grid.two,.grid.equal{grid-template-columns:1fr}.topbar .company span{display:none}.page-head{align-items:flex-start;flex-direction:column;gap:18px}h1{font-size:27px}.auth-art{padding:35px}.auth-message h1{font-size:31px}.auth-message p{font-size:12px}.auth-features{font-size:11px}.settings-detail{grid-template-columns:1fr 1fr}.task-toolbar .search{max-width:none}}
@media(max-width:700px){.layout{display:block}.sidebar{transform:translateX(-100%);transition:transform .2s;box-shadow:var(--shadow);width:246px}.layout.menu-open .sidebar{transform:translateX(0)}.main{padding:0 18px 24px}.mobile-menu{display:inline-flex}.topbar{height:63px}.topbar-right .date{display:none}.topbar .company{gap:7px}.page-head{margin:25px 0 21px}.metrics{gap:10px}.metric{padding:16px}.metric-number{font-size:30px}.metric-top{font-size:11px}.metric-icon{display:none}.welcome{padding:22px}.welcome h2{font-size:17px}.welcome .shield{display:none}.toolbar{padding:15px;flex-wrap:wrap}.search{min-width:180px}.toolbar .tabs{width:100%}.card-header{padding:18px}.card-body,.section-form{padding:18px}.subnets-overview{padding:18px;gap:10px}.subnet-mini{padding:12px}.subnet-mini b{font-size:10px}td,th{padding:14px 16px}.network-tools{flex-wrap:wrap}.tabs button{padding:8px 10px;font-size:11px}.form-grid{grid-template-columns:1fr;gap:14px}.auth-layout{display:block}.auth-art{padding:25px}.auth-message{margin:32px 0 10px}.auth-message h1{font-size:28px}.auth-message p{display:none}.auth-features,.auth-footer{display:none}.auth-main{padding:35px 25px}.auth-art:before{display:none}.auth-form h2{font-size:23px}.modal-head,.modal-body{padding:19px}.modal-foot{padding:15px 19px}.modal-foot .form-error{font-size:10px}.task-grid{grid-template-columns:1fr}.backup-cards{grid-template-columns:1fr}.status-strip{gap:15px;padding:18px;font-size:11px}.run-stats{grid-template-columns:1fr 1fr}.topbar-right{gap:8px}.ip-grid{padding:15px;grid-template-columns:1fr 1fr;gap:10px}.device-tile{padding:12px}.device-tile strong{font-size:11px}.footer-text{flex-direction:column}.task-toolbar{gap:12px}.task-filters{width:100%}.task-filters .tabs{flex:1}.task-filters .search{flex:1}#toasts{right:15px;left:15px;bottom:15px}.toast{max-width:100%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#426854 var(--deep)}
.auth-page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:radial-gradient(ellipse at 50% 20%,#e4eddd 0,transparent 65%),var(--bg);gap:22px}
.auth-card{width:100%;max-width:460px;padding:34px 38px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 55px #163e3310}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.auth-brand strong{display:block;font-size:20px;letter-spacing:2px;color:var(--deep)}.auth-brand span:not(.brand-mark){display:block;font-size:11px;color:var(--muted);margin-top:3px}.auth-card h1{font-size:26px}.auth-description{font-size:12px;color:var(--muted);margin:9px 0 24px}.auth-fields{display:grid;gap:16px}.auth-fields .field{margin:0}.auth-submit,.auth-secondary{width:100%}.auth-submit{margin-top:6px;font-size:14px;padding:13px}.auth-secondary{font-size:12px;background:transparent}.auth-divider{height:1px;background:var(--line);margin:21px 0}.auth-card .auth-help{font-size:11px;color:var(--muted);text-align:center;margin-top:20px;line-height:1.6}.auth-company{font-size:10px;color:var(--muted);text-align:center}.registration-card{max-width:650px}.auth-success{font-size:12px;line-height:1.6;padding:12px 14px;margin-bottom:20px}
.session-control{position:fixed;right:22px;bottom:18px;z-index:25;width:390px;max-width:calc(100vw - 28px);display:grid;gap:10px;padding:15px 17px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 30px #163e3318}.session-countdown{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:var(--muted)}.session-countdown strong{color:var(--green);font-variant-numeric:tabular-nums;margin-left:5px}.session-countdown.ending strong{color:var(--red)}.session-control small{text-align:center;color:var(--muted);font-size:10px}.layout .main{padding-bottom:165px}#toasts{bottom:174px}
@media(max-width:700px){.auth-page{padding:22px 16px}.auth-card{padding:26px 24px;border-radius:16px}.auth-card h1{font-size:23px}.session-control{right:14px;bottom:14px;width:360px;padding:12px 14px;gap:8px}.session-control .btn{padding:9px 12px}#toasts{bottom:156px}}

.overview-metrics{margin-top:28px}.session-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.session-actions .btn{min-width:0}
.network-subnets{flex-wrap:wrap}.network-tools{gap:14px;flex-wrap:wrap}.network-tile-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}.network-tile-actions .btn{flex:1}.device-tile .badge{font-size:10px}.network-dialog-actions{flex-wrap:wrap;margin:18px 0}.subnet-editor{display:grid;gap:9px;margin-bottom:12px}.subnet-editor-row{display:flex;gap:8px;align-items:center}.subnet-editor-row input{flex:1;min-width:0}.subnet-editor-row input,.inventory-suggestion-panel>input{padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font:inherit;color:var(--ink)}.scan-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.scan-option{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:10px;font-size:12px;cursor:pointer}.scan-option input,.check-field input{accent-color:var(--green)}.device-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.device-detail{border:1px solid var(--line);border-radius:10px;padding:16px;font-size:12px;overflow-wrap:anywhere}.device-detail.wide{grid-column:1/-1}.device-detail h3{font-size:12px;color:var(--muted);margin-bottom:10px}.device-detail>small{display:block;margin-top:10px}.device-detail p{margin-top:9px}.detail-products{display:grid;gap:12px}.detail-products strong{display:block;margin-bottom:5px}.uac-levels{display:grid;gap:8px}.uac-level{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:9px}.uac-level.current{border-color:var(--green);background:#edf5ef}.uac-level.expected:not(.current){border-style:dashed}.uac-level p{font-size:11px;color:var(--muted);margin:3px 0 0}.uac-level>div{flex:1}.uac-mark{width:21px;flex-shrink:0;color:var(--green)}.network-kind-form{display:flex;align-items:flex-end;gap:12px;margin:12px 0}.network-kind-form .field{flex:1;margin:0}.remote-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.remote-action{padding:14px;border:1px solid var(--line);border-radius:10px}.remote-action .btn{width:100%;justify-content:flex-start;font-size:12px}.remote-action p{font-size:11px;color:var(--muted);margin:8px 0 0;line-height:1.6}.remote-jobs{display:grid;gap:8px;margin-top:12px}.remote-job{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:12px;cursor:pointer;color:var(--ink);font:inherit;font-size:12px}.remote-job .small{margin-top:5px}.remote-log{max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f6f2;border:1px solid var(--line);padding:14px;border-radius:9px;font-size:11px;margin:12px 0}.inventory-suggestion-panel{border:1px solid var(--line);border-radius:12px;padding:15px;margin-bottom:20px;background:#f5f8f3}.inventory-suggestion-panel>label{display:block;font-size:12px;margin-bottom:8px}.inventory-suggestion-panel>input{width:100%}.inventory-suggestion-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.inventory-suggestion-list button{display:grid;gap:3px;padding:9px 11px;text-align:left;border:1px solid var(--line);border-radius:8px;background:var(--paper);font:inherit;font-size:11px;cursor:pointer;color:var(--ink)}.inventory-suggestion-list small{color:var(--muted)}.btn:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:700px){.scan-options,.device-details,.remote-actions,.inventory-suggestion-list{grid-template-columns:1fr}.network-tools>.btn{width:100%}.uac-level{align-items:flex-start;flex-wrap:wrap}.remote-job{align-items:flex-start;flex-direction:column}.device-tile .network-tile-actions .btn{font-size:11px}}
@media(max-width:700px){.session-actions .btn{padding:9px 8px;font-size:11px;gap:5px}.session-actions .svg-icon{width:16px;height:16px}}
/* Accessible, explicit feedback without exposing field names or rejected secrets. */
.field-error{display:block;color:var(--red);font-size:13px;line-height:1.5;margin-top:6px}
input[aria-invalid=true]{border-color:var(--red)!important;outline-color:var(--red)!important}
.form-error{white-space:pre-line;line-height:1.6}
.form-error:not(:empty){padding:10px 12px;border-radius:8px;border:1px solid color-mix(in srgb,var(--red) 30%,transparent);background:color-mix(in srgb,var(--red) 6%,var(--paper));font-size:13px}

/* Telegram OIDC uses a server redirect; no third-party script or secret is embedded. */
.telegram-auth-button{width:100%;margin-top:14px;min-height:44px;background:#229ed9;color:#fff;border-color:#229ed9;text-decoration:none;justify-content:center;gap:10px}
.telegram-auth-button:hover{background:#168bc4;border-color:#168bc4;color:#fff}
.telegram-auth-button .icon{width:20px;height:20px}
.telegram-login-settings{margin-top:22px}
.telegram-login-settings .form-grid{margin-top:16px;gap:16px}

.auth-card .auth-success.auth-failure{color:var(--red);background:color-mix(in srgb,var(--red) 9%,var(--paper));border:1px solid color-mix(in srgb,var(--red) 30%,var(--line));border-radius:10px}
