:root{--ink:#17283e;--muted:#64758b;--line:#e2e8f0;--blue:#255be3;--paper:#f4f6fa;--nav:#11243c;--green:#1b755d;--amber:#a66609}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:10px 15px;font-weight:600}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid #83a6ff;outline-offset:2px}.hidden{display:none!important}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:1.5px}.brand small{display:block;font-size:10px;letter-spacing:1px;font-weight:500;color:#95adc9}.brand-icon{display:grid;place-items:center;background:var(--blue);color:white;width:38px;height:38px;border-radius:12px;font-size:22px;font-weight:900;letter-spacing:-2px}.auth{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 15% 15%,#deebff,transparent 55%),var(--paper);padding:20px}.login-card{width:440px;max-width:100%;padding:40px;background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 80px #16263d12}.login-card h1{font-size:25px;margin-top:35px}.login-card p{color:var(--muted)}label{display:flex;flex-direction:column;gap:6px;margin:14px 0;color:#3a4b61;font-size:13px;font-weight:600}input,select,textarea{width:100%;padding:10px 12px;background:#fff;border:1px solid #cfd8e4;border-radius:8px;color:var(--ink);font-weight:400}input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}textarea{resize:vertical}.primary{background:var(--blue);color:white}.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.danger{background:#fff1f2;color:#b52a40;border:1px solid #f8d4d9}.login-card button{width:100%;margin-top:8px}aside{position:fixed;inset:0 auto 0 0;width:235px;background:var(--nav);color:white;padding:30px 18px;display:flex;flex-direction:column}.nav-caption{color:#7f98b4;font-size:10px;font-weight:700;letter-spacing:1.5px;margin:40px 12px 15px}nav{display:flex;flex-direction:column;gap:5px}nav button{text-align:left;color:#b9c7d9;background:transparent;padding:12px 15px;border-radius:9px;font-weight:500}nav button:hover{background:#203650;color:white}nav button.active{background:#29486d;color:white;box-shadow:inset 3px 0 #6a98ff}.aside-bottom{margin-top:auto;border-top:1px solid #2c3d54;padding:18px 12px 0;color:#a4b7cd}.aside-bottom button{display:block;margin-top:8px;background:transparent;color:#cbd7e7;padding:0;font-size:12px}main{margin-left:235px;padding:34px 42px;max-width:1700px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted);font-weight:700}h1{font-size:28px;line-height:1.25;letter-spacing:-.6px;margin:8px 0}h2{font-size:19px;letter-spacing:-.3px;margin:0}h3{font-size:15px;margin:22px 0 8px}small,.muted{color:var(--muted);font-weight:400}.muted{font-size:13px}p{margin:8px 0 18px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.card,.panel{background:white;border:1px solid var(--line);border-radius:14px}.card{padding:22px}.card-label{font-size:12px;color:var(--muted);font-weight:600}.card strong{display:block;font-size:34px;letter-spacing:-1px;margin:12px 0 3px}.card small{font-size:11px}.panel{padding:24px;margin-bottom:22px}.panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.two-col{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.notice{padding:15px 18px;border-radius:10px;background:#eff4ff;border:1px solid #dce6ff;color:#31538a;font-size:13px;margin:14px 0}.toolbar{display:flex;align-items:center;gap:12px;margin:0 0 18px}.toolbar input{flex:1}.toolbar select{width:190px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;background:#f8fafc;color:var(--muted);font-size:11px;font-weight:700;padding:14px 16px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}td{padding:16px;border-top:1px solid #edf0f5;vertical-align:middle}td:first-child{max-width:380px}.record-name{display:block;font-weight:600;color:#1b3150}.record-meta{display:block;font-size:11px;color:var(--muted);margin-top:4px}.badge{display:inline-block;padding:4px 8px;border-radius:6px;background:#eef2f7;color:#5b6c81;font-size:11px;white-space:nowrap}.badge.green{background:#e8f5ef;color:#216b53}.badge.amber{background:#fff3da;color:#965b10}.table-actions{display:flex;gap:6px;white-space:nowrap}.table-actions button{padding:7px 10px;background:#f1f4f9;font-size:12px;color:#315584}.table-actions button.danger{background:#fff1f2;color:#b52a40}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;color:var(--muted);font-size:12px}.pagination button{margin-left:8px}.empty{text-align:center;color:var(--muted);padding:45px 20px}.list-row{padding:13px 0;border-bottom:1px solid #edf0f5;display:flex;justify-content:space-between;gap:16px}.list-row:last-child{border:0}.list-row small{display:block;margin-top:3px;font-size:11px}.error{color:#b52a40!important}#toast{padding:12px 18px;background:#e9f6ee;color:#226343;border:1px solid #cde9d6;border-radius:9px;margin-bottom:20px}#toast.error{background:#fff1f2;border-color:#ffd5da}dialog{width:900px;max-width:96vw;max-height:92vh;border:1px solid var(--line);border-radius:16px;padding:28px;color:var(--ink);box-shadow:0 30px 100px #10203930}dialog::backdrop{background:#10223970;backdrop-filter:blur(3px)}.dialog-header,.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-header{border-bottom:1px solid var(--line);padding-bottom:18px}.dialog-footer{border-top:1px solid var(--line);padding-top:20px;margin-top:18px}.icon-button{background:#f1f4f8;font-size:24px;line-height:1}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.form-grid.four{grid-template-columns:repeat(4,1fr)}.span2{grid-column:span 2}.checkbox{flex-direction:row;align-items:center;font-weight:400}.geometry svg{width:100%;height:160px;background:#f4f7fa;border-radius:10px}.file-drop{border:1px dashed #9eb5d5;background:#f8fbff;border-radius:12px;padding:24px}.file-drop input{background:white}#source-editor{width:560px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.service-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22a979;margin-right:7px}.service-dot.off{background:#cc5365}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 ui-monospace,monospace;background:#f5f7fa;padding:16px;border-radius:8px}@media(max-width:1000px){main{padding:25px;margin-left:205px}aside{width:205px}.cards{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}@media(max-width:700px){aside{position:static;width:auto;padding:18px}.nav-caption,.aside-bottom{display:none}nav{flex-direction:row;overflow:auto;margin-top:16px}nav button{white-space:nowrap;padding:9px 12px}main{margin:0;padding:20px}header h1{font-size:24px}.toolbar{flex-wrap:wrap}.toolbar select{width:auto}.form-grid.four{grid-template-columns:repeat(2,1fr)}.panel{padding:18px}.card{padding:16px}.card strong{font-size:28px}}
