*{box-sizing:border-box}body,html{margin:0;padding:0;background:#f3f6fa;color:#14243a;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{display:flex;min-height:100vh}.side{width:248px;background:linear-gradient(180deg,#0d2238,#123453);border-right:1px solid #0a1c2d;padding:22px 14px;position:fixed;inset:0 auto 0 0;box-shadow:8px 0 28px rgba(9,28,48,.12);z-index:5}.brand{font-weight:800;font-size:19px;margin:4px 10px 30px;color:#fff;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}.brand-mark{width:34px;height:34px;min-width:34px;flex:0 0 34px;border-radius:10px;background:#2d86c9;color:#fff;display:grid;place-items:center;font-size:16px;line-height:1;box-shadow:0 6px 16px rgba(45,134,201,.3)}.brand-copy{display:grid;grid-gap:1px;gap:1px}.brand-sub{font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8fb7d5}.nav{display:grid;grid-gap:5px;gap:5px}.nav a{padding:11px 12px;border-radius:9px;color:#a9bfd1;font-size:13px;font-weight:600;transition:.15s ease}.nav a.active,.nav a:hover{background:rgba(64,151,215,.16);color:#fff}.nav a.active{box-shadow:inset 3px 0 0 #48a8e6}.nav-signout{margin-top:14px;padding-top:14px;border-top:1px solid rgba(143,183,213,.14)}.nav-signout .btn{width:100%;text-align:left;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#c9d8e4}.nav-signout .btn:hover{background:rgba(255,255,255,.1);color:#fff}.content{margin-left:248px;width:calc(100% - 248px);padding:34px;max-width:1550px}.ey{font-size:10px;color:#287fb8;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.title{font-size:31px;font-weight:800;margin:5px 0;color:#14243a;letter-spacing:-.025em}.muted{color:#65778b}.grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-top:22px}.card,.panel{background:#fff;border:1px solid #dbe4ed;border-radius:13px;box-shadow:0 4px 16px rgba(17,44,72,.045)}.card{padding:18px}.label{font-size:10px;color:#6b7d90;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.num{font-size:29px;font-weight:800;margin-top:7px;color:#172b43}.green{color:#16845b}.amber{color:#b16e00}.red{color:#c53b3b}.two{display:grid;grid-template-columns:1.5fr 1fr;grid-gap:16px;gap:16px;margin-top:16px}.panel{padding:18px}.panel h2,.panel h3{margin-top:0;color:#19314a}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e7edf3}.row:first-child{border-top:0}.tag{border:1px solid #cbd8e5;border-radius:999px;padding:4px 8px;font-size:11px;white-space:nowrap;background:#f7fafc}.btn{border:1px solid #c4d4e2;background:#f7fafd;color:#23405a;padding:9px 13px;border-radius:8px;cursor:pointer;font-weight:600}.btn.primary{background:#1977b5;border-color:#1977b5;color:#fff;box-shadow:0 5px 12px rgba(25,119,181,.18)}.btn:disabled{opacity:.6;cursor:wait}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.searchbar,.section-head,.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.searchbar{margin-bottom:14px}.searchbar input{flex:1 1;background:#fff;color:#172b43;border:1px solid #cbd8e5;padding:11px}.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:800px}.table td,.table th{text-align:left;padding:12px 8px;border-bottom:1px solid #e7edf3;font-size:13px;vertical-align:middle}.table th{font-size:10px;color:#63768a;text-transform:uppercase;letter-spacing:.06em}.table td input[type=date],.table td input[type=number]{background:#fff;color:#172b43;border:1px solid #cbd8e5;border-radius:7px;padding:7px}.table td input[type=checkbox]{width:17px;height:17px}.list{display:grid;border:1px solid #e1e8ef;border-radius:10px;overflow:hidden}.list-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;border:0;border-bottom:1px solid #e7edf3;background:#fff;color:#172b43;text-align:left;cursor:pointer}.list-row:last-child{border-bottom:0}.list-row:hover{background:#f7fafc}.list-row.selected{background:#edf7fd;box-shadow:inset 3px 0 0 #2d86c9}.list-row strong{display:block;font-size:13px}.list-row small{display:block;color:#718196;font-size:11px;margin-top:3px}.empty{display:grid;grid-gap:7px;gap:7px;padding:24px 0}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#e6f2fb 0,#f3f6fa 38%,#edf2f7 100%)}.loginbox{width:min(430px,100%);padding:30px;background:#fff;border:1px solid #d6e1eb;border-radius:16px;box-shadow:0 18px 55px rgba(18,49,79,.12)}.field{margin:12px 0}.field label{display:block;color:#63768a;font-size:11px;margin-bottom:6px;font-weight:600}.field input,.field select,.field textarea{width:100%;background:#fff;color:#172b43;border:1px solid #cbd8e5;border-radius:8px;padding:11px}.field textarea{min-height:90px;resize:vertical}.error{background:#fff0f0;border:1px solid #e4a7a7;color:#9f2929;padding:10px;border-radius:8px;margin:12px 0}.modal{position:fixed;inset:0;background:rgba(9,26,43,.52);display:grid;place-items:center;padding:20px;z-index:10}.modalbox{width:min(760px,100%);max-height:90vh;overflow:auto;padding:24px;background:#fff;border:1px solid #cbd8e5;border-radius:14px;box-shadow:0 20px 70px rgba(8,29,50,.22)}.formgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 14px;gap:0 14px}.twin-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-top:22px}.twin-node{background:#fff;border:1px solid #dbe4ed;border-radius:13px;padding:18px;min-height:190px;box-shadow:0 8px 30px rgba(20,40,70,.06)}.twin-node h3{margin:8px 0 5px}.twin-node p{color:#65778b}.node-status{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#16845b}.node-meta{display:grid;grid-template-columns:auto 1fr;grid-gap:7px 12px;gap:7px 12px;margin-top:16px;font-size:12px}.node-meta span{color:#718196}.section-head{margin-bottom:8px}.brand-divider{height:1px;background:rgba(143,183,213,.2);margin:0 10px 20px}.platform-create{padding:22px}.platform-form{margin-top:20px}.platform-form .form-section{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid #e7edf3}.platform-form .form-section:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}.form-section-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.form-section-heading>span{width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#2d86c9;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800;box-shadow:0 4px 10px rgba(45,134,201,.18)}.form-section-heading strong{display:block;font-size:15px;color:#19314a}.form-section-heading p{margin:4px 0 0;font-size:12px}.platform-form .grid2,.platform-form .grid3{gap:18px}.platform-form label{display:flex;flex-direction:column;align-items:stretch;gap:7px;color:#19314a;font-size:12px;font-weight:700}.platform-form label input,.platform-form label select{width:100%;height:42px;background:#fbfdff;color:#172b43;border:1px solid #cbd8e5;border-radius:8px;padding:9px 11px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.platform-form label input:focus,.platform-form label select:focus{border-color:#4b9bd0;box-shadow:0 0 0 3px rgba(45,134,201,.11);background:#fff}.platform-form label small{font-size:10px;font-weight:500;line-height:1.4;color:#718196;margin-top:-1px}.platform-form-actions{justify-content:flex-end;padding-top:2px}.platform-module-table{border:1px solid #dbe4ed;border-radius:10px;overflow:hidden}.platform-module-table .table{min-width:0}.platform-module-table .table td,.platform-module-table .table th{padding:12px 14px}.platform-module-table .table td:last-child,.platform-module-table .table th:last-child{width:145px}.platform-module-table input[type=number]{width:112px!important;height:38px;background:#fbfdff!important;border:1px solid #cbd8e5!important;border-radius:8px!important;padding:8px 10px!important}.platform-module-table input[type=number]:focus{outline:none;border-color:#4b9bd0!important;box-shadow:0 0 0 3px rgba(45,134,201,.11)}.notice{background:#eef8f2;border:1px solid #b8ddc6;color:#17633f;padding:10px 12px;border-radius:8px}@media(max-width:850px){.side{width:190px}.content{margin-left:190px;width:calc(100% - 190px);padding:20px}.grid{grid-template-columns:1fr 1fr}.platform-form .grid2,.platform-form .grid3,.twin-grid,.two{grid-template-columns:1fr}}@media(max-width:600px){.side{position:static;width:100%;height:auto}.shell{display:block}.content{margin:0;width:100%}.grid{grid-template-columns:1fr}.toolbar{align-items:flex-start;flex-direction:column}.formgrid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.platform-form .grid2,.platform-form .grid3{grid-template-columns:1fr}}.filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;margin:4px 0 16px;background:#fbfdff;border:1px solid #dbe4ed;border-radius:12px;box-shadow:0 3px 12px rgba(17,44,72,.035)}.filterbar>.muted{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#63768a;margin-right:2px}.filterbar input:not([type=checkbox]):not([type=radio]),.filterbar select{height:40px;background:#fff;color:#172b43;border:1px solid #cbd8e5;border-radius:8px;padding:8px 11px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.filterbar input:not([type=checkbox]):not([type=radio]){min-width:150px}.filterbar select{min-width:145px;cursor:pointer}.filterbar input:focus,.filterbar select:focus,.searchbar input:focus{border-color:#4b9bd0;box-shadow:0 0 0 3px rgba(45,134,201,.11);background:#fff}.filterbar .btn{height:40px;padding:8px 12px}.filterbar .actions{margin:0}.filterbar+.tablewrap{margin-top:2px}.filterbar .filter-value{display:flex;align-items:center;gap:7px}.filterbar .filter-value>label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:700;color:#19314a}.filterbar .filter-value small{font-size:10px;font-weight:500;color:#718196}.searchbar input{height:40px;border-radius:8px;padding:8px 11px}.searchbar select{height:40px;background:#fff;color:#172b43;border:1px solid #cbd8e5;border-radius:8px;padding:8px 11px;outline:none}form.panel{margin-bottom:16px}form.panel .grid2,form.panel .grid3{display:grid;grid-gap:16px;gap:16px;margin:14px 0 2px}form.panel .grid2{grid-template-columns:repeat(2,minmax(0,1fr))}form.panel .grid3{grid-template-columns:repeat(3,minmax(0,1fr))}form.panel label{display:flex;flex-direction:column;gap:6px;color:#19314a;font-size:11px;font-weight:700}form.panel label input,form.panel label select{width:100%;height:42px;background:#fff;color:#172b43;border:1px solid #cbd8e5;border-radius:8px;padding:9px 11px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}form.panel label input:focus,form.panel label select:focus{border-color:#4b9bd0;box-shadow:0 0 0 3px rgba(45,134,201,.11);background:#fff}form.panel button{height:40px;margin-top:14px;border:1px solid #c4d4e2;background:#f7fafd;color:#23405a;padding:8px 13px;border-radius:8px;cursor:pointer;font-weight:600}form.panel button:hover{background:#eef5fa;border-color:#b8cad9}form.panel button:disabled{opacity:.6;cursor:wait}@media(max-width:700px){.filterbar{align-items:stretch}.filterbar .btn,.filterbar input:not([type=checkbox]):not([type=radio]),.filterbar select{width:100%;min-width:0}.filterbar>.muted{width:100%;margin-bottom:2px}.filterbar .filter-value{width:100%;display:block}.filterbar .filter-value>label{width:100%}form.panel .grid2,form.panel .grid3{grid-template-columns:1fr}}