:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#15233d;background:#f5f7fb;--blue:#1769e0;--navy:#0c1933;--line:#e3e9f2;--muted:#70809b}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:#243653;border-radius:8px;padding:9px 13px}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.danger-soft{background:#fff1f2;border-color:#ffd7da;color:#c03742}.full{width:100%}.mini{padding:6px 9px;font-size:11px;margin:2px}.align-end{align-self:end;height:40px}.error{color:#c83342}.block{display:block;margin-top:4px;color:var(--muted)}.empty{text-align:center;color:#8a97aa;padding:35px!important}.hint{font-size:12px;color:var(--muted)}
.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 70% 25%,#1b5ac7 0,#0b244f 35%,#07152f 75%)}.login[hidden]{display:none}.login-card{width:min(410px,calc(100% - 36px));background:#fff;border-radius:20px;padding:38px;box-shadow:0 30px 80px #020c1f99}.login-card>.login-logo{float:left;margin-right:15px}.login-card h1{margin:2px 0 0;font-size:24px}.login-card>div>p{margin:4px 0 28px;color:var(--muted)}.login-card label{display:block;font-size:12px;font-weight:600;margin:15px 0;color:#44536b}.login-card label input:not([type=checkbox]){display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #ccd6e5;border-radius:9px}.login-card .check{font-weight:400}.login-card>small{display:block;text-align:center;color:#9aa6b8;margin-top:18px}.ib-logo{width:48px;height:48px;border-radius:12px;object-fit:contain;background:#fff;box-shadow:0 7px 18px #020c1f55}.login-logo{box-shadow:0 7px 18px #0d5fcc22}
.shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr}.shell[hidden]{display:none}aside{position:sticky;top:0;height:100vh;background:var(--navy);color:#fff;padding:24px 15px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 26px}.brand b{font-size:13px;letter-spacing:.7px}.brand small{display:block;color:#7f94ba;font-size:9px;letter-spacing:2px;margin-top:3px}nav{display:grid;gap:3px}nav a{display:flex;align-items:center;gap:13px;padding:11px 12px;color:#9fb0cf;border-radius:9px;font-size:13px;cursor:pointer}nav a i{width:21px;text-align:center;font-style:normal;font-size:16px}nav a:hover,nav a.active{background:#1b3158;color:#fff}.side-foot{margin-top:auto;border-top:1px solid #203150;padding:17px 8px 0;display:flex;justify-content:space-between;align-items:center;color:#7185a8;font-size:11px}.side-foot button{border:0;background:none;color:#a8b8d3;padding:0}
main{min-width:0}header{height:88px;background:#fff;border-bottom:1px solid var(--line);padding:18px 30px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}header h1{font-size:23px;margin:0}header p{margin:4px 0 0;color:var(--muted);font-size:12px}.head-actions{display:flex;align-items:center;gap:10px}.server-ok{padding:8px 11px;border-radius:18px;background:#eaf8f0;color:#16784a;font-size:12px}.server-ok i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#20ad65;margin-right:6px}.icon-btn{font-size:17px;padding:6px 10px}.page{display:none;padding:26px 30px}.page.active{display:block}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.kpis article,.panel,.backup-card{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 15px #17305a0b}.kpis article{padding:18px}.kpis span{display:block;color:var(--muted);font-size:11px;font-weight:600}.kpis strong{display:block;font-size:27px;margin:7px 0}.kpis small{color:#8794a8;font-size:11px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.panel{padding:19px;min-width:0}.span2{min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.panel h2,.panel-head h2{font-size:15px;margin:0}.panel p,.panel-head p{font-size:11px;color:var(--muted);margin:5px 0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-size:9px;letter-spacing:.4px;color:#8491a5;border-bottom:1px solid var(--line);padding:9px}td{padding:12px 9px;border-bottom:1px solid #edf1f6;white-space:nowrap}.wrap{white-space:normal;min-width:200px}.client-name{display:flex;align-items:center;gap:9px}.client-name>span{width:31px;height:31px;border-radius:8px;background:#eaf2ff;color:#1764ce;display:grid;place-items:center;font-size:10px;font-weight:800}.client-name b,.client-name small{display:block}.client-name small{color:var(--muted);font-size:10px;margin-top:2px}.badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:10px;background:#edf1f6;color:#65748c}.backup-full{background:#e9f2ff;color:#1764ce}.backup-incremental{background:#f0eaff;color:#6543b5}.online,.success,.active,.protected{background:#e5f8ee;color:#117648}.offline,.queued,.never,.unknown{background:#eef1f5;color:#66748a}.running,.uploading,.backing-up,.restoring{background:#e9f2ff;color:#1764ce}.cancelrequested{background:#fff6dd;color:#917017}.cancelled{background:#f1f2f5;color:#68758a}.failed,.error,.revoked,.expired,.rejected,.storagelimit,.removed,.deleted,.unlicensed{background:#fff0f1;color:#bd3442}.warning{background:#fff6dd;color:#917017}
.ring{--p:0;width:150px;height:150px;margin:18px auto 23px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--blue) calc(var(--p)*1%),#edf1f6 0);position:relative}.ring:before{content:"";position:absolute;inset:13px;background:#fff;border-radius:50%}.ring div{position:relative;text-align:center}.ring strong,.ring span{display:block}.ring strong{font-size:26px}.ring span{font-size:10px;color:var(--muted)}.metric{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf1f6;font-size:12px;color:var(--muted)}.metric b{color:#24334e}.toolbar{display:flex;gap:10px;justify-content:flex-end;margin-bottom:14px}.toolbar input,.toolbar select{min-width:190px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.search{margin-right:auto}.search input{min-width:270px}.progress{display:inline-block;width:90px;height:6px;background:#e8edf4;border-radius:5px;overflow:hidden;margin-right:6px}.progress i{display:block;height:100%;background:var(--blue)}
.backup-list-panel{padding:0}.backup-table thead{position:sticky;top:0;background:#fff;z-index:2}.backup-table tbody tr:hover{background:#f8fbff}.backup-table td:last-child{min-width:150px}.backup-id{font-family:Consolas,monospace;font-size:10px;color:#60708a}.toolbar-count{align-self:center;color:var(--muted);font-size:11px;white-space:nowrap}
.restore-layout{display:grid;grid-template-columns:320px 1fr;gap:17px}.restore-layout label,.settings-grid label{display:block;font-size:11px;font-weight:600;margin:15px 0}.restore-layout input,.restore-layout select,.settings-grid input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;margin-top:6px}.restore-actions{display:grid;gap:8px;margin-top:20px}.crumb{padding-bottom:13px;border-bottom:1px solid var(--line);font-size:11px}.crumb button{border:0;padding:0;background:none;color:var(--blue)}.file-list{margin-top:8px}.file-row{display:grid;grid-template-columns:24px 25px 1fr 90px 150px;align-items:center;padding:10px;border-bottom:1px solid #edf1f6;font-size:11px}.file-name{font-weight:600;cursor:pointer}.file-icon{color:var(--blue);font-size:17px}.capacity{height:13px;background:#edf1f6;border-radius:8px;overflow:hidden;margin:20px 0}.capacity div{height:100%;background:linear-gradient(90deg,#1465dd,#54a3ff);border-radius:8px}
.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:17px 0}.form-grid label{font-size:10px;font-weight:600;color:#56647a}.form-grid label>small{display:block;margin-top:4px;color:var(--muted);font-weight:400}.form-grid input,.form-grid select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;margin-top:6px;background:#fff}.form-grid .wide{grid-column:1/-1}.form-grid.license{grid-template-columns:2fr 1fr 1fr 1fr 1fr auto}.policy-card{display:flex;justify-content:space-between;margin-top:15px;padding:13px;border:1px solid var(--line);border-radius:9px;font-size:11px}.new-license{background:#eaf8f0;border:1px solid #bfe6d0;border-radius:10px;padding:15px;margin:15px 0}.new-license code{display:block;font-size:17px;font-weight:800;margin:8px 0}.license-detail{margin-top:17px}.license-detail h2{margin:0 0 4px}.license-detail .detail-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.log-panel{padding:0}.log-row{display:grid;grid-template-columns:165px 100px 1fr 140px;gap:10px;padding:11px 15px;border-bottom:1px solid #edf1f6;font-size:11px;border-left:3px solid #5590df}.log-row.warning{border-left-color:#e3ad27}.log-row.error{border-left-color:#d43e4d}.log-row time,.log-row small{color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:15px}.copy-field{display:flex}.copy-field input{border-radius:8px 0 0 8px}.copy-field button{border-radius:0 8px 8px 0}.path-field{display:flex}.path-field input{border-radius:8px 0 0 8px}.path-field button{border-radius:0 8px 8px 0;margin-top:6px;white-space:nowrap}.path-actions{display:flex;align-items:center;gap:7px;margin-top:7px}.path-actions button{font-size:10px;padding:6px 9px}.path-actions .hint{margin-left:5px}.path-ok{color:#117648}.path-bad{color:#bd3442}
#toast{position:fixed;top:18px;right:20px;z-index:50;transform:translateY(-90px);opacity:0;background:#173d2d;color:#fff;padding:12px 17px;border-radius:9px;box-shadow:0 8px 25px #11223b44;transition:.25s;font-size:12px}#toast.show{transform:none;opacity:1}#toast.bad{background:#9f2732}.modal{position:fixed;inset:0;z-index:40;background:#07152faa;display:grid;place-items:center;padding:20px}.modal[hidden]{display:none}.modal-card{width:min(760px,100%);max-height:80vh;background:#fff;border-radius:15px;padding:20px;box-shadow:0 25px 70px #020a18aa;display:flex;flex-direction:column}.modal-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:12px}.modal-head h2{margin:0;font-size:17px}.modal-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.modal-head>button{border:0;font-size:22px;padding:0 7px}.repo-current{display:flex;align-items:center;gap:10px;padding:13px 0}.repo-current code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repo-folders{min-height:220px;overflow:auto;border:1px solid var(--line);border-radius:9px}.repo-folder{display:flex;width:100%;border:0;border-bottom:1px solid #edf1f6;border-radius:0;text-align:left;padding:11px 13px}.repo-folder:hover{background:#f1f6ff}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:14px}
@media(max-width:1100px){.shell{grid-template-columns:78px 1fr}.brand>div:last-child,nav a span,.side-foot{display:none}aside{padding:20px 10px}.brand{padding:0 5px 25px}.form-grid.license{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){header,.page{padding-left:16px;padding-right:16px}.kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.restore-layout,.settings-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid.license{grid-template-columns:1fr}.file-row{grid-template-columns:24px 25px 1fr 70px}.file-row span:last-child{display:none}.path-field,.path-actions{display:grid}.toolbar{flex-wrap:wrap}.toolbar-count{display:none}}
.form-grid .checkbox-row{display:flex;align-items:center;gap:9px;font-size:12px}.form-grid .checkbox-row input{width:auto;margin:0}.full-license-key{display:inline-block;white-space:normal;overflow-wrap:anywhere;max-width:245px;margin-right:6px;vertical-align:middle}
.health-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 16px;margin-bottom:18px;border:1px solid #bfe6d0;border-radius:11px;background:#eaf8f0;color:#176944}.health-banner div{display:grid;gap:3px}.health-banner span{font-size:11px}.health-banner.warning{background:#fff8e5;border-color:#f3dda0;color:#7d6114}.health-banner.critical{background:#fff0f1;border-color:#f3c5ca;color:#a82f3b}.health-banner button{background:#ffffffaa}.health-panel{margin-bottom:17px}.health-issues{margin:0;padding:0;list-style:none;display:grid;gap:8px}.health-issues li{padding:9px 11px;border-radius:8px;background:#fff6dd;color:#7b6017;font-size:12px}.health-issues .health-good{background:#eaf8f0;color:#176944}.button-row{display:flex;gap:8px}.storage-details{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.storage-details span{padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:10px}.storage-details b{display:block;color:#24334e;font-size:14px;margin-top:4px}.verified,.healthy{background:#e5f8ee;color:#117648}.pending{background:#fff6dd;color:#917017}.missing,.critical{background:#fff0f1;color:#bd3442}.integrity-message{max-width:190px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:780px){.health-banner{align-items:flex-start;flex-direction:column}.storage-details{grid-template-columns:repeat(2,1fr)}.button-row{flex-wrap:wrap}}
.management-grid{display:grid;grid-template-columns:minmax(310px,1fr) minmax(380px,1.35fr);gap:17px}.group-card{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;margin-top:8px;padding:13px}.group-card span:first-child{display:grid;gap:3px}.group-card small{color:var(--muted)}.group-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,1fr);gap:14px;margin:17px 0}.group-form label{display:grid;gap:6px;font-size:11px;font-weight:600;color:#56647a}.group-form input,.group-form select{width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#243653}.field-label{margin:4px 0 7px;font-size:11px;font-weight:600;color:#56647a}.member-list{max-height:390px;overflow:auto;border:1px solid var(--line);border-radius:9px;margin:0 0 16px}.member-list label{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #edf1f6;font-size:11px}.member-list label:last-child{border-bottom:0}.member-list input{margin:0;flex:0 0 auto}.member-list span{display:grid;gap:2px}.member-list small{color:var(--muted)}.subpanel{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:#f9fbfe}.subpanel h3{font-size:13px;margin:0}.form-grid.compact{grid-template-columns:repeat(2,1fr);margin:10px 0}.policy-card.selectable{width:100%;background:#fff;text-align:left}.settings-grid .check{display:flex;align-items:center;gap:8px}.settings-grid .check input{width:auto;margin:0}.settings-grid select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;margin-top:6px;background:#fff}
@media(max-width:900px){.management-grid{grid-template-columns:1fr}}@media(max-width:600px){.group-form{grid-template-columns:1fr}}
