@font-face{font-family:Roboto;src:url(/fonts/Roboto-300.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/Roboto-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/Roboto-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/Roboto-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Recline;src:url(/fonts/Recline-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Recline;src:url(/fonts/Recline-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Recline;src:url(/fonts/Recline-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--primary:#35647d;--primary-hover:#2d5970;--primary-alt:#27617e;--primary-50:#35647d80;--secondary:#284b5e;--accent:#cca079;--accent-cta:#d4a981;--accent-hover:#c49870;--cream:#f9f3ee;--cream-alt:#faf6f1;--cream-soft:#ecdbcd;--white:#fff;--ink:#232323;--muted:#4a4a4a;--border:#e5e5e5;--border-strong:#cecece;--danger:#cb2a1d;--radius:8px;--radius-lg:12px;--shadow:0 2px 16px #04185c0f;--shadow-lg:0 12px 32px #284b5e1f;--font-body:"Roboto", "Segoe UI", sans-serif;--font-display:"Recline", Georgia, serif}*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;color:var(--primary);margin:0;font-weight:600}.btn{cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;gap:.4rem;min-height:42px;padding:.55rem 1.15rem;font-weight:500;transition:background .2s,transform .15s,box-shadow .2s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--cream)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-gold{background:var(--accent-cta);color:var(--secondary)}.btn-gold:hover:not(:disabled){background:var(--accent-hover);color:var(--white)}.btn-ghost{color:var(--primary);border:1px solid var(--border-strong);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--secondary)}.btn-danger{background:var(--danger);color:var(--white)}.btn-sm{min-height:34px;padding:.35rem .75rem;font-size:.875rem}.field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.field label{color:var(--muted);font-size:.875rem;font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--white);color:var(--ink);padding:.7rem .85rem;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #cca07933}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.35rem 1.5rem}.table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto}table.data{border-collapse:collapse;width:100%;min-width:720px;font-size:.95rem}.data-cards{flex-direction:column;gap:1rem;padding:.5rem .25rem .75rem;display:none}.data-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--cream-alt);flex-direction:column;gap:.85rem;padding:1.15rem 1.2rem;display:flex}.data-card-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.data-card-head strong{color:var(--primary);word-break:break-word;flex:1;min-width:0;font-size:1.1rem;line-height:1.3}.data-card-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.25rem;font-size:.95rem;display:grid}.data-card-meta .row{flex-direction:column;gap:.2rem;min-width:0;display:flex}.data-card-meta .row span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.data-card-meta .row b{color:var(--ink);word-break:break-word;font-size:.95rem;font-weight:500}.data-card .actions{border-top:1px solid var(--border);gap:.65rem;margin-top:.1rem;padding-top:.85rem}.data-card .actions .btn{flex:calc(50% - .4rem);justify-content:center;min-height:42px}table.data th,table.data td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:1rem}table.data th{color:var(--primary);text-transform:uppercase;letter-spacing:.04em;background:var(--cream-alt);white-space:nowrap;font-size:.78rem;font-weight:500;position:sticky;top:0}table.data td{white-space:normal;max-width:280px}table.data tbody tr{transition:background .15s}table.data tbody tr:hover{background:#fafafa}.badge{border-radius:999px;padding:.22rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.badge-ok{color:var(--primary);background:#35647d1f}.badge-off{color:var(--danger);background:#cb2a1d1a}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:flex}.header-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.page-header h1{font-size:clamp(1.85rem,2.4vw,2.4rem)}.page-header p{color:var(--muted);max-width:48rem;margin:.4rem 0 0;font-size:1rem}.error-text{color:var(--danger);margin:.5rem 0;font-size:.9rem}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#284b5e73;place-items:center;padding:1rem;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.modal{background:var(--cream-alt);border:1px solid var(--accent);border-radius:var(--radius-lg);width:min(560px,100%);max-height:min(92vh,100%);box-shadow:var(--shadow-lg);padding:1.75rem 1.85rem;animation:.25s rise;overflow:auto}.modal .actions{justify-content:flex-end;margin-top:.5rem}.modal h2{margin-bottom:1rem}.tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.tab{border:1px solid var(--border);background:var(--white);cursor:pointer;color:var(--muted);border-radius:999px;padding:.5rem 1rem;font-weight:500;transition:all .2s}.tab:hover{border-color:var(--accent)}.tab.active{background:var(--primary);border-color:var(--primary);color:var(--white)}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem;display:grid}.checkbox-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);cursor:pointer;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;transition:border-color .15s;display:flex}.checkbox-item:hover{border-color:var(--accent)}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:.65rem .75rem;margin-bottom:1rem;padding:.75rem .9rem;display:flex}.toolbar.card{padding:.75rem .9rem}.toolbar .field{flex:0 160px;min-width:130px;max-width:200px;margin-bottom:0}.toolbar .field label{margin-bottom:0;font-size:.75rem}.toolbar .field input,.toolbar .field select{min-height:34px;padding:.4rem .55rem;font-size:.875rem}.toolbar .btn{align-self:flex-end;min-width:auto;min-height:34px;padding:.35rem .9rem;font-size:.875rem}@media (width<=1024px){.page-header{align-items:flex-start;gap:1.25rem 1.5rem}.page-header h1{font-size:clamp(1.7rem,3.2vw,2.2rem)}.page-header p{max-width:none}.stat-chip{min-width:150px}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.modal{padding:1.5rem 1.4rem}.toolbar{gap:.85rem 1rem;padding:1.1rem 1.15rem}.toolbar .field{flex:180px;min-width:150px;max-width:none}}@media (width<=860px){.toolbar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:1rem 1.1rem;padding:1.25rem 1.2rem;display:grid}.toolbar .field{flex:none;width:100%;min-width:0;max-width:none}.toolbar .field label{margin-bottom:.35rem;font-size:.82rem}.toolbar .field input,.toolbar .field select{min-height:44px;padding:.55rem .75rem;font-size:.95rem}.toolbar .btn{grid-column:1/-1;width:100%;min-height:44px}.page-header{gap:1.15rem}.header-actions{flex-wrap:wrap;gap:.75rem;width:auto;margin-left:auto;display:flex}.header-actions .btn,.page-header .btn{flex:0 auto;min-height:44px;padding:.55rem 1.15rem}.stat-chip{flex:160px;min-width:160px}.card{padding:1.25rem}}@media (width<=640px){.table-wrap>table.data{display:none}.table-wrap>.data-cards{display:flex}table.data{min-width:0}.page-header{flex-direction:column;align-items:stretch;gap:1.15rem;margin-bottom:1.25rem}.page-header p{font-size:.95rem;line-height:1.45}.header-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;margin-left:0;display:grid}.header-actions .btn,.page-header .btn{width:100%}.header-actions .stat-chip{grid-column:1/-1}.stat-chip{width:100%;min-width:0}.card{padding:1.2rem 1.15rem}.toolbar{gap:1rem;padding:1.2rem 1.15rem}.modal-backdrop{align-items:end;padding:.75rem}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:92vh;padding:1.35rem 1.2rem calc(1.35rem + env(safe-area-inset-bottom,0px))}.modal .actions{gap:.65rem}.modal .actions .btn{flex:calc(50% - .4rem);min-height:44px}.checkbox-grid{grid-template-columns:1fr}}@media (width<=380px){.toolbar,.header-actions,.data-card-meta{grid-template-columns:1fr}.modal .actions{flex-direction:column-reverse}.modal .actions .btn{width:100%}}@media (width>=1100px){.empty-state{padding:3.5rem 2rem}.modal.wide{width:min(820px,92vw)}}.empty-state{text-align:center;color:var(--muted);padding:2.5rem 1rem}.empty-state strong{color:var(--primary);font-family:var(--font-display);margin-bottom:.35rem;font-size:1.35rem;display:block}.loading-row{color:var(--muted);align-items:center;gap:.75rem;padding:1.5rem;display:flex}.spinner{border:2px solid var(--cream-soft);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.stat-chip{background:var(--white);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);min-width:160px;box-shadow:var(--shadow);flex-direction:column;gap:.2rem;padding:.85rem 1rem;display:flex}.stat-chip span{color:var(--muted);font-size:.8rem}.stat-chip strong{font-family:var(--font-display);color:var(--primary);font-size:1.35rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.shell[data-v-0019ce89]{background:var(--cream);align-items:stretch;min-height:100vh;display:flex}.sidebar[data-v-0019ce89]{background:linear-gradient(180deg, var(--secondary) 0%, #1f3a4a 100%);color:#fff;border-right:1px solid #ffffff0f;flex-direction:column;flex:0 0 280px;gap:1rem;width:280px;height:100vh;padding:1.25rem .9rem;transition:flex-basis .2s,width .2s;display:flex;position:sticky;top:0;overflow:auto}.shell.collapsed .sidebar[data-v-0019ce89]{flex-basis:84px;width:84px}.sidebar-brand[data-v-0019ce89]{border-bottom:1px solid #ffffff1a;align-items:center;gap:.65rem;padding:.25rem .2rem .9rem;display:flex}.sidebar-brand img[data-v-0019ce89]{flex-shrink:0;width:auto;height:38px}.brand-text[data-v-0019ce89]{flex:1;min-width:0}.brand-text strong[data-v-0019ce89]{font-family:var(--font-display);color:var(--accent);font-size:1.25rem;line-height:1.1;display:block}.brand-text small[data-v-0019ce89]{opacity:.75;font-size:.75rem}.collapse-btn[data-v-0019ce89]{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:6px;flex-shrink:0;width:30px;height:30px}.collapse-btn[data-v-0019ce89]:hover{border-color:var(--accent);color:var(--accent)}.nav-section[data-v-0019ce89]{margin-bottom:.85rem}.nav-label[data-v-0019ce89]{text-transform:uppercase;letter-spacing:.08em;opacity:.55;margin:.35rem .55rem .45rem;font-size:.7rem}.nav-label-dot[data-v-0019ce89]{text-align:center;opacity:.4;margin:.35rem 0}nav[data-v-0019ce89]{flex-direction:column;flex:1;display:flex}.nav-item[data-v-0019ce89]{text-align:left;color:#f6f6f7;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:.7rem;width:100%;padding:.7rem .75rem;transition:all .2s;display:flex}.nav-initial[data-v-0019ce89]{background:#ffffff14;border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:grid}.nav-copy[data-v-0019ce89]{flex-direction:column;gap:.1rem;min-width:0;display:flex}.nav-title[data-v-0019ce89]{font-size:.95rem;font-weight:600}.nav-hint[data-v-0019ce89]{opacity:.65;font-size:.72rem}.nav-item[data-v-0019ce89]:hover{background:#cca07924}.nav-item.active[data-v-0019ce89]{color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:#cca07938}.nav-item.active .nav-initial[data-v-0019ce89]{background:#cca07947}.sidebar.collapsed .sidebar-brand[data-v-0019ce89]{flex-wrap:wrap;justify-content:center;gap:.5rem}.sidebar.collapsed .nav-item[data-v-0019ce89]{justify-content:center;padding:.7rem .4rem}.workspace[data-v-0019ce89]{flex-direction:column;flex:auto;width:100%;min-width:0;min-height:100vh;display:flex;position:relative}.topbar[data-v-0019ce89]{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#ffffffeb;justify-content:space-between;align-items:center;gap:1rem;min-height:72px;padding:.85rem 2rem;display:flex;position:sticky;top:0}.topbar-left[data-v-0019ce89],.topbar-right[data-v-0019ce89]{align-items:center;gap:.75rem;display:flex}.user-chip[data-v-0019ce89]{align-items:center;gap:.7rem;display:flex}.avatar[data-v-0019ce89]{background:var(--accent);width:38px;height:38px;color:var(--secondary);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.user-meta strong[data-v-0019ce89],.user-meta small[data-v-0019ce89]{line-height:1.2;display:block}.user-meta strong[data-v-0019ce89]{color:var(--ink);font-size:.92rem}.user-meta small[data-v-0019ce89]{color:var(--muted);font-size:.75rem}.logout-btn[data-v-0019ce89]{border:1px solid var(--border-strong);color:var(--primary);background:0 0}.logout-btn[data-v-0019ce89]:hover{border-color:var(--accent);color:var(--secondary)}.menu-btn[data-v-0019ce89]{border:1px solid var(--border-strong);background:var(--white);color:var(--primary);cursor:pointer;border-radius:8px;width:42px;height:42px;font-size:1.05rem}.mobile-only[data-v-0019ce89]{display:none}.content[data-v-0019ce89]{flex:1;padding:1.75rem 2rem 2.5rem}.content-inner[data-v-0019ce89]{width:min(1280px,100%);margin:0 auto}.scrim[data-v-0019ce89]{display:none}@media (width<=1100px){.sidebar[data-v-0019ce89]{flex-basis:220px;width:220px}.content[data-v-0019ce89]{padding:1.25rem 1.25rem 2rem}.topbar[data-v-0019ce89]{padding:.75rem 1.25rem}}@media (width<=900px){.mobile-only[data-v-0019ce89]{place-items:center;display:grid}.desktop-only[data-v-0019ce89]{display:none!important}.user-meta[data-v-0019ce89]{display:none}.sidebar[data-v-0019ce89],.shell.collapsed .sidebar[data-v-0019ce89]{z-index:40;width:min(300px,88vw);height:100vh;padding:1.25rem .9rem;padding-top:calc(1.25rem + env(safe-area-inset-top,0px));padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));flex:none;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.sidebar.open[data-v-0019ce89]{transform:translate(0)}.scrim[data-v-0019ce89]{z-index:35;background:#284b5e66;display:block;position:fixed;inset:0}.workspace[data-v-0019ce89]{flex:100%;width:100%;max-width:100%}.content[data-v-0019ce89]{padding:1.35rem 1.25rem 1.75rem;padding-bottom:calc(1.75rem + env(safe-area-inset-bottom,0px))}.content-inner[data-v-0019ce89]{width:100%;max-width:100%}.topbar[data-v-0019ce89]{min-height:68px;padding:.85rem 1.15rem;padding-top:calc(.85rem + env(safe-area-inset-top,0px))}.nav-item[data-v-0019ce89]{min-height:48px}.menu-btn[data-v-0019ce89],.logout-btn[data-v-0019ce89]{min-height:44px}}@media (width<=640px){.content[data-v-0019ce89]{padding:1.2rem 1.1rem 1.6rem;padding-bottom:calc(1.6rem + env(safe-area-inset-bottom,0px))}.topbar[data-v-0019ce89]{padding-left:1.1rem;padding-right:1.1rem}}.toast-stack[data-v-1905474e]{z-index:100;pointer-events:none;flex-direction:column;gap:.55rem;width:min(380px,100vw - 2rem);display:flex;position:fixed;top:1rem;right:1rem}.toast[data-v-1905474e]{pointer-events:auto;border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow-lg);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.85rem .95rem;animation:.22s toast-in-1905474e;display:flex}.toast p[data-v-1905474e]{color:var(--ink);margin:0;font-size:.92rem;line-height:1.35}.toast.success[data-v-1905474e]{background:#f3f8fa;border-color:#35647d59}.toast.error[data-v-1905474e]{background:#fff5f4;border-color:#cb2a1d59}.toast.info[data-v-1905474e]{background:#fbf7f2;border-color:#cca07973}.toast-close[data-v-1905474e]{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:1.15rem;line-height:1}@keyframes toast-in-1905474e{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.confirm-backdrop[data-v-3fbab43d]{z-index:90}.confirm-modal[data-v-3fbab43d]{width:min(460px,94vw);padding:1.45rem 1.5rem 1.3rem}.confirm-modal h2[data-v-3fbab43d]{margin-bottom:.65rem}.confirm-message[data-v-3fbab43d]{color:var(--ink);margin:0 0 1rem;font-size:.98rem;line-height:1.5}.confirm-details[data-v-3fbab43d]{border:1px solid var(--border);border-radius:var(--radius);background:var(--cream-alt);gap:.7rem;margin:0 0 1rem;padding:.9rem 1rem;display:grid}.confirm-detail[data-v-3fbab43d]{grid-template-columns:7.2rem 1fr;align-items:baseline;gap:.6rem;display:grid}.confirm-detail dt[data-v-3fbab43d]{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:.78rem}.confirm-detail dd[data-v-3fbab43d]{color:var(--ink);word-break:break-word;margin:0;font-weight:600}.confirm-hint[data-v-3fbab43d]{border-radius:var(--radius);color:var(--secondary);background:#35647d14;margin:0 0 1.25rem;padding:.7rem .85rem;font-size:.88rem;line-height:1.45}.confirm-modal .actions[data-v-3fbab43d]{gap:.7rem;margin-top:.25rem}.loading-overlay[data-v-b578edc7]{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f9f3ee8c;place-items:center;display:grid;position:fixed;inset:0}.loading-card[data-v-b578edc7]{background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow-lg);color:var(--primary);border-radius:12px;align-items:center;gap:.75rem;padding:1rem 1.25rem;font-weight:500;display:flex}.loading-card p[data-v-b578edc7]{margin:0}
