:root{--brand:#0b8a94;--brand-dark:#086a72;--accent:#e8833a;--ink:#1f2933;--muted:#66727f;--line:#e1e4e8;--bg:#f3f4f5;--panel:#e4e6e9;--white:#ffffff;--danger:#c2452d;--ok:#2f9e5b;--warn-bg:#fdf3dc;--warn:#8a5a00;--radius:6px}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 14px/1.45 Inter,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:600}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.frame{display:grid;grid-template-columns:80px minmax(0,1fr);grid-template-rows:60px minmax(0,1fr);height:100vh}.topbar{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:0 22px 0 18px}.logo-mark{width:42px;height:42px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px}.wordmark{font-size:22px;font-weight:600;color:var(--brand);letter-spacing:.5px}.wordmark span{color:var(--accent)}.topbar .plus{color:var(--muted);font-size:18px}.client-logo{padding:3px 12px;border-radius:20px;color:#fff;font-weight:600;font-size:13px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:18px}.topbar-right a:hover{color:var(--brand)}.user-menu{position:relative}.user-menu,.user-menu summary{display:flex;align-items:center;gap:8px}.user-menu summary{list-style:none;cursor:pointer}.user-menu summary::-webkit-details-marker{display:none}.user-pop{position:absolute;right:0;top:38px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 20px rgba(0,0,0,.12);padding:10px;width:230px;z-index:40;display:grid;grid-gap:6px;gap:6px}.user-pop small{color:var(--muted);overflow-wrap:anywhere}.avatar{width:32px;height:32px;border-radius:50%;color:#fff;display:inline-grid;place-items:center;font-weight:600;font-size:11px;flex:none}.avatar.sm{width:24px;height:24px;font-size:10px}.rail{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:8px}.rail a{display:grid;justify-items:center;grid-gap:2px;gap:2px;font-size:11px;color:var(--ink);width:70px;padding:4px 0}.rail a.on{font-weight:600}.rail a.on,.rail a:hover{color:var(--brand)}.main{min-width:0;min-height:0;overflow:auto;padding-right:16px}.split{display:grid;grid-template-columns:245px minmax(0,1fr);grid-gap:16px;gap:16px;height:100%}.side{background:#fff;border-radius:var(--radius) var(--radius) 0 0;min-height:0;overflow:auto;display:flex;flex-direction:column}.side-head{background:var(--panel);min-height:60px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:600;font-size:15px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.side-nav{padding:8px;display:grid;grid-gap:3px;gap:3px}.side-nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);color:#3e4c59}.side-nav a:hover{background:var(--bg)}.side-nav a.on{background:var(--active,var(--brand));color:#fff;font-weight:600}.side-nav .sub{padding-left:28px}.side-label{font-size:11px;font-weight:600;letter-spacing:.4px;color:var(--muted);padding:10px 10px 2px;text-transform:uppercase}.dot{width:12px;height:12px;border-radius:50%;flex:none}.content{background:#fff;min-height:100%;flex-direction:column;min-width:0}.content,.head{border-radius:var(--radius) var(--radius) 0 0;display:flex}.head{background:var(--panel);min-height:60px;padding:8px 16px;align-items:center;gap:12px;flex-wrap:wrap;position:-webkit-sticky;position:sticky;top:0;z-index:5}.head h1{font-size:16px;margin-right:auto}.body{padding:18px 16px;display:grid;grid-gap:16px;gap:16px;align-content:start;flex:1 1;min-width:0}.crumbs{margin-right:auto;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.crumbs b{color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:7px 13px;font-weight:600;white-space:nowrap}.btn:hover{color:var(--brand-dark)}.btn.primary,.btn:hover{border-color:var(--brand)}.btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-dark);color:#fff}.btn.dark{background:#323f4b;border-color:#323f4b;color:#fff;font-size:12px;padding:4px 9px}.btn.danger{color:var(--danger);border-color:#efc9c1}.btn.small{padding:3px 9px;font-size:12px}.btn.link{border:0;background:none;padding:0;color:var(--brand-dark);font-weight:500}.input,.select,textarea.input{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;background:#fff}.select.inline{width:auto;background:transparent;border-color:transparent;font-weight:600}.field{display:grid;grid-gap:4px;gap:4px;max-width:520px}.field label,.label{font-weight:500;color:#3e4c59}.field small,.hint{color:var(--muted);font-size:12px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stack{display:grid;grid-gap:12px;gap:12px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:#fff;display:grid;grid-gap:8px;gap:8px;align-content:start;min-width:0}.card.row,.savebar{display:flex}.savebar{position:-webkit-sticky;position:sticky;bottom:0;background:var(--bg);padding:12px 16px;gap:10px;z-index:4}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:34px;height:19px;border-radius:10px;background:#52606d;position:relative;margin:0;cursor:pointer;flex:none}.switch input:after{content:"";position:absolute;left:2px;top:2px;width:15px;height:15px;background:#fff;border-radius:50%;transition:left .12s}.switch input:checked{background:var(--ok)}.switch input:checked:after{left:17px}.pill{display:inline-block;padding:1px 9px;border-radius:12px;font-size:12px;font-weight:600;background:#e3f6e9;color:#1f7a42}.pill.blue{background:#dcefff;color:#1b5e96}.pill.dark{background:#323f4b;color:#fff}.alert,.pill.warn{background:var(--warn-bg);color:var(--warn)}.alert{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.alert,.notice{border-radius:var(--radius);padding:10px 14px}.notice{background:#dff3f4;color:var(--brand-dark);overflow-wrap:anywhere}.empty{color:var(--muted);display:flex;gap:10px;align-items:center;padding:8px 0}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-weight:600;padding:9px 10px;white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--line)}.table td{padding:10px;vertical-align:middle}.table small{color:var(--muted);display:block}.scroll-x{overflow-x:auto}.section-title{font-size:19px;font-weight:600}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));grid-gap:16px;gap:16px}.pcard{position:relative;min-height:138px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--c,var(--brand));border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.pcard:hover{box-shadow:0 3px 10px rgba(0,0,0,.1)}.pcard h3{font-size:15px;padding-right:22px}.pcard .sub{gap:6px}.pcard .foot,.pcard .sub{color:var(--muted);font-size:12px;display:flex;align-items:center}.pcard .foot{margin-top:auto;justify-content:flex-end;gap:8px}.pcard .gear{position:absolute;top:14px;right:12px;color:var(--muted)}.pcard.new{border:1px dashed #aab2bd;align-items:center;justify-content:center;color:#3e4c59;font-weight:600;box-shadow:none}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(140deg,#0b8a94,#086a72 60%,#e8833a 160%)}.login{width:100%;max-width:400px;background:#fff;border-radius:10px;padding:28px;display:grid;grid-gap:16px;gap:16px}.login h1{font-size:20px}@media print{.head,.no-print,.rail,.side,.topbar{display:none!important}.frame,.split{display:block;height:auto}.main{overflow:visible;padding:0}body{background:#fff}}@media (max-width:800px){.frame{grid-template-columns:62px minmax(0,1fr)}.rail a{width:58px;font-size:10px}.split{grid-template-columns:minmax(0,1fr);height:auto}.main{padding-right:8px}}