@import "https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--teal:#0f6f63;--teal-dark:#0a5249;--teal-mid:#4a988e;--teal-tint:#e3efec;--ink:#2b2722;--ink-soft:#34302a;--text:#2b2722;--text-2:#6f675b;--text-3:#73695c;--muted:#a39b8e;--muted-2:#9c9488;--muted-3:#b3aa9b;--panel:#fff;--cream:#fbf9f4;--cream-2:#f4efe6;--cream-3:#f1efe6;--line:#3a301e14;--line-soft:#3a301e0f;--line-2:#3a301e24;--danger:#d0573f;--danger-bg:#fbe7e3;--success:#2f8f5b;--success-bg:#e9efe4;--warn-bg:#f7eecd;--shadow-card:0 1px 2px #3a301e0a,0 22px 44px -30px #3a301e38;--shadow-soft:0 1px 2px #3a301e0a,0 18px 40px -30px #3c2d1433;--shadow-btn:0 14px 28px -12px #0f6f6399;--font-display:"Sora",system-ui,sans-serif;--font-body:"Outfit",system-ui,sans-serif;--r-sm:9px;--r:13px;--r-lg:18px;--r-xl:20px}*{box-sizing:border-box}#__nuxt,body,html{height:100%}body{font-family:var(--font-body);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-color:#0000;background-image:radial-gradient(1100px 560px at 80% -10%,#eef0e6,#0000 60%),linear-gradient(#f1efe6,#e9ebe0);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;margin:0;font-size:14.5px;line-height:1.5}::selection{background:#fbdcc0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0}a{color:var(--teal)}.ic{flex-shrink:0;width:20px;height:20px;display:inline-block}svg.ic{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;align-self:stretch;width:248px;height:100vh;padding:26px 18px 22px;display:flex;position:sticky;top:0}.brand{gap:12px;padding:0 6px 26px}.brand,.brand-logo{align-items:center;display:flex}.brand-logo{border-radius:var(--r);background:var(--teal);flex-shrink:0;justify-content:center;width:42px;height:42px;box-shadow:0 10px 20px -10px #0f6f63a6}.brand-name{font-family:var(--font-display);color:var(--ink);font-size:15.5px;font-weight:600;line-height:1.1}.brand-sub{letter-spacing:.16em;color:var(--muted);margin-top:2px}.brand-sub,.nav-label{text-transform:uppercase;font-size:10.5px}.nav-label{letter-spacing:.15em;color:var(--muted-3);padding:0 14px 12px}.sidebar-foot{border-top:1px solid var(--line);gap:12px;margin-top:auto;padding-top:16px}.avatar,.sidebar-foot{flex-shrink:0;align-items:center;display:flex}.avatar{background:var(--teal-tint);width:38px;height:38px;color:var(--teal-dark);font-family:var(--font-display);border-radius:50%;justify-content:center;font-size:13.5px;font-weight:600}.sidebar-foot .who{flex:1;min-width:0}.sidebar-foot .who-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.sidebar-foot .who-role{color:var(--muted);font-size:11.5px}.app-main{flex:1;min-width:0;padding:28px 30px 60px}.app-main>main{flex-direction:column;gap:22px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.page-head h1,.page-head h2{font-size:26px;font-weight:600}.page-head .sub{color:var(--text-2);margin:6px 0 0;font-size:14px}.page-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;margin-bottom:10px;font-size:11px;display:flex}.page-eyebrow:before{content:"";background:#cabfae;width:26px;height:1px}.nav{flex-direction:column;flex:auto;gap:5px;min-height:0;display:flex;overflow-y:auto}.nav-item{border-radius:var(--r);font-family:var(--font-body);color:var(--text-2);cursor:pointer;background:0 0;align-items:center;gap:13px;padding:12px 14px;font-size:14.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--cream-2);color:var(--ink)}.nav-item .label{flex:1}.nav-item .dot{background:var(--teal);opacity:0;border-radius:50%;width:6px;height:6px}.nav-item.is-active{color:var(--teal);background:var(--teal-tint);font-weight:600}.nav-item.is-active .dot{opacity:1}.btn{font-family:var(--font-body);cursor:pointer;border-radius:var(--r);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:600;line-height:1;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--teal);color:#fff;box-shadow:var(--shadow-btn)}.btn-primary:hover:not(:disabled){background:var(--teal-dark)}.btn-ghost{color:var(--text-3);border-color:var(--line-2);background:#fff}.btn-ghost:hover:not(:disabled){background:var(--cream)}.btn-danger{color:var(--danger);background:#fff;border-color:#d0573f66}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.btn-sm{padding:8px 13px;font-size:13px}.btn-block{width:100%;padding:14px;font-size:15px}.btn-icon{border-radius:var(--r);border:1px solid var(--line);width:42px;height:42px;color:var(--text-3);background:#fff;padding:0}.btn-icon:hover{background:var(--cream)}.card{border-radius:var(--r-xl);border:1px solid var(--line-soft);box-shadow:var(--shadow-card);padding:24px}.card,.card-soft{background:var(--panel)}.card-soft{border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-soft);padding:20px}.card-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.card-title{font-family:var(--font-display);color:var(--ink);font-size:16.5px;font-weight:600}.card-sub{color:var(--muted-2);margin:5px 0 0;font-size:13px}.section-title{font-family:var(--font-display);color:var(--ink);margin:0 0 14px;font-size:16.5px;font-weight:600}.field{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.label{font-family:var(--font-body);color:var(--text-3);font-size:12.5px;font-weight:500}.input,.select,.textarea{border-radius:var(--r);border:1px solid var(--line-2);background:var(--cream);width:100%;font-family:var(--font-body);color:var(--ink);outline:none;padding:13px 15px;font-size:14.5px;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;min-height:92px;line-height:1.5}.input:focus,.select:focus,.textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f6f631f}.input[aria-invalid=true]{border-color:var(--danger)}.input-icon{position:relative}.input-icon .ic{color:var(--muted);width:18px;height:18px;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.input-icon .input{padding-left:44px}.field-row{flex-wrap:wrap;gap:16px;display:flex}.field-row>.field{flex:1;min-width:180px}fieldset{border:1px solid var(--line);border-radius:var(--r);margin:0;padding:14px 16px}legend{font-family:var(--font-body);color:var(--text-3);padding:0 6px;font-size:13px;font-weight:600}.check-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 14px;display:grid}.check-item{color:var(--ink-soft);cursor:pointer;align-items:center;gap:9px;padding:6px 2px;font-size:13.5px;display:flex}.check-item input{width:16px;height:16px;accent-color:var(--teal);cursor:pointer;flex-shrink:0}.check-item .mono{color:var(--text-3);font-size:12.5px}.table-wrap{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:13.5px}table.data thead th{text-align:left;font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--cream);z-index:1;padding:14px 18px;font-size:11.5px;font-weight:600;position:sticky;top:0}table.data tbody td{border-bottom:1px solid var(--line-soft);color:var(--ink-soft);vertical-align:middle;padding:14px 18px}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:var(--cream)}table.data a{color:var(--teal);font-weight:600;text-decoration:none}table.data a:hover{text-decoration:underline}.chip{font-family:var(--font-body);color:var(--text-3);border:1px solid var(--line-2);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:7px 13px;font-size:12.5px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.chip:hover{background:var(--cream)}.chip.is-active{background:var(--teal);color:#fff;border-color:var(--teal)}.badge{font-family:var(--font-body);color:var(--text-3);background:#f2eee5;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-muted{color:var(--muted-2);background:#f2eee5}.badge-success{background:var(--success-bg);color:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info,.badge-teal{background:var(--teal-tint);color:var(--teal-dark)}.badge-warn{background:var(--warn-bg);color:#8a6a12}.state{text-align:center;color:var(--text-2);padding:40px 24px;font-size:14.5px}.alert{border-radius:var(--r);padding:13px 16px;font-size:13.5px;font-weight:500}.alert-error{background:var(--danger-bg);color:#9a3b28;border:1px solid #d0573f40}.alert-ok{background:var(--success-bg);color:#1f6b41;border:1px solid #2f8f5b40}.access-denied{text-align:center;color:var(--text-2);flex-direction:column;align-items:center;gap:10px;padding:56px 24px;display:flex}.access-denied .ic{width:30px;height:30px;color:var(--muted)}dl.kv{grid-template-columns:max-content 1fr;gap:10px 22px;margin:0;display:grid}dl.kv dt{color:var(--muted-2);font-size:12.5px}dl.kv dd{color:var(--ink-soft);margin:0;font-size:14px;font-weight:500}.pager{align-items:center;gap:10px;display:flex}.pager .spacer{color:var(--muted-2);flex:1;font-size:13px}.login{justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.login-card{border:1px solid #ffffffbf;border-radius:30px;width:100%;max-width:1040px;min-height:600px;box-shadow:0 50px 92px -46px #3a301e6b}.login-aside,.login-card{display:flex;overflow:hidden}.login-aside{color:#fff;background:linear-gradient(152deg,#4a988e,#0f6f63 52%,#0a5249);flex-direction:column;justify-content:space-between;width:46%;padding:52px 50px;position:relative}.login-aside:before{background:radial-gradient(circle,#ffffff2e,#0000 65%);width:300px;height:300px;top:-90px;right:-70px}.login-aside:after,.login-aside:before{content:"";border-radius:50%;position:absolute}.login-aside:after{background:radial-gradient(circle,#ffffff1a,#0000 68%);width:340px;height:340px;bottom:-110px;left:-80px}.login-aside>*{position:relative}.login-aside h2{color:#fff;margin:0 0 18px;font-size:38px;font-weight:600;line-height:1.08}.login-aside p{color:#ffffffc7;max-width:330px;margin:0;font-size:16px;line-height:1.6}.login-aside .brand-row{align-items:center;gap:13px;display:flex}.login-aside .brand-row .ico{background:#ffffff2e;border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.login-aside .brand-row .t{font-family:var(--font-display);font-size:18px;font-weight:600}.login-aside .brand-row .s{letter-spacing:.16em;text-transform:uppercase;color:#fff9;font-size:11px}.login-aside .secure{color:#ffffffb3;align-items:center;gap:10px;font-size:13px;display:flex}.login-form{background:#fff;flex:1;justify-content:center;align-items:center;padding:50px;display:flex}.login-form .inner{width:100%;max-width:380px}.login-form h1{margin:0 0 8px;font-size:27px;font-weight:600}.login-form .lead{color:var(--text-2);margin:0 0 30px;font-size:14.5px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3,.grid-4{gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:1.65fr 1fr;gap:18px;display:grid}.row{align-items:center;gap:12px}.row,.wrap{display:flex}.wrap{flex-wrap:wrap;gap:10px}.muted{color:var(--muted-2)}.mono{font-family:var(--font-display)}.stack{flex-direction:column;gap:22px;display:flex}@media (width<=860px){.app-shell{flex-direction:column}.sidebar{flex-flow:wrap;align-items:center;gap:12px;width:100%;height:auto;padding:14px 16px;position:static}.sidebar .nav-label{display:none}.nav{flex-flow:wrap;flex:initial;gap:6px;min-height:auto;overflow:visible}.nav-item{padding:9px 12px}.brand{padding:0}.sidebar-foot{border:none;margin:0 0 0 auto;padding:0}.app-main{padding:20px 16px 48px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.login-card{flex-direction:column;min-height:0}.login-aside{width:100%;min-height:220px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
