@charset "UTF-8";@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v4/gyByhwUxId8gMEwYGFWfOw.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v4/gyByhwUxId8gMEwSGFWfOw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v4/gyByhwUxId8gMEwcGFU.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v4/gyByhwUxId8gMEwYGFWfOw.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v4/gyByhwUxId8gMEwSGFWfOw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v4/gyByhwUxId8gMEwcGFU.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v4/gyByhwUxId8gMEwYGFWfOw.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v4/gyByhwUxId8gMEwSGFWfOw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v4/gyByhwUxId8gMEwcGFU.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v4/gyByhwUxId8gMEwYGFWfOw.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v4/gyByhwUxId8gMEwSGFWfOw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v4/gyByhwUxId8gMEwcGFU.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v4/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v4/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v4/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v4/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v4/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v4/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--c-bg: #eef2f8;--c-surface: #ffffff;--c-surface-2: #f3f6fb;--c-surface-3: #e6ebf3;--c-line: #d4dbe6;--c-line-2: #e0e5ee;--c-divider: #dce2eb;--c-navy: #0f1a2e;--c-navy-2: #162339;--c-navy-3: #1d2c47;--c-navy-ink: #e8edf7;--c-navy-muted: #8b97ad;--c-navy-line: #1f2e4a;--c-ink: #0c1118;--c-ink-2: #1f2630;--c-ink-3: #4a5566;--c-ink-4: #6b7687;--c-ink-5: #9aa3b2;--c-primary: #1f3a8a;--c-primary-hover: #182f73;--c-primary-soft: #dde5f3;--c-primary-ring: rgba(31, 58, 138, .18);--c-success: #1f6b4a;--c-success-soft: #eaf3ee;--c-warning: #8a5a12;--c-warning-soft: #f7efe0;--c-danger: #9b2c2c;--c-danger-soft: #f5e8e8;--c-info: #255b87;--c-info-soft: #e8eef4;--c-accent-sage: #4a6b5a;--c-accent-sand: #b59878;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-xl: 14px;--r-pill: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 40px;--s-9: 56px;--sh-1: 0 1px 0 rgba(12, 17, 24, .03), 0 1px 2px rgba(12, 17, 24, .04);--sh-2: 0 1px 2px rgba(12, 17, 24, .04), 0 6px 18px rgba(12, 17, 24, .05);--sh-pop: 0 10px 30px rgba(12, 17, 24, .1), 0 2px 6px rgba(12, 17, 24, .06);--ff-sans: "Geist", "Inter", system-ui, -apple-system, sans-serif;--ff-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-15: 15px;--fs-16: 16px;--fs-18: 18px;--fs-20: 20px;--fs-24: 24px;--fs-28: 28px;--fs-32: 32px;--fs-40: 40px;--lh-tight: 1.18;--lh-snug: 1.32;--lh-base: 1.5;--ease-out: cubic-bezier(.2, .7, .2, 1);--dur-1: .12s;--dur-2: .2s;--dur-3: .32s;--sidebar-w: 240px;--sidebar-w-collapsed: 64px;--topbar-h: 56px;--primary: var(--c-primary);--primary-dark: var(--c-primary-hover);--border: var(--c-line);--surface: var(--c-surface);--surface-muted:var(--c-surface-2);--bg: var(--c-bg);--text: var(--c-ink-2);--text-muted: var(--c-ink-4);--success: var(--c-success);--danger: var(--c-danger);--warning: var(--c-warning);--radius: var(--r-lg);--shadow: var(--sh-1)}html,body{margin:0;padding:0;min-height:100%;font-family:var(--ff-sans);background:var(--c-bg);color:var(--c-ink)}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:var(--c-primary-soft);color:var(--c-primary)}html{-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d9dde3;border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#c2c8d0;background-clip:padding-box;border:2px solid transparent}::-webkit-scrollbar-track{background:transparent}.mono{font-family:var(--ff-mono);font-feature-settings:"tnum" 1,"zero" 1}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--c-ink-4)}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-5);font-weight:500;margin:0}h1,h2,h3,h4{margin:0;color:var(--c-ink);letter-spacing:-.01em;line-height:var(--lh-tight);font-weight:600}h1{font-size:var(--fs-32);letter-spacing:-.02em}h2{font-size:var(--fs-24);letter-spacing:-.02em}h3{font-size:var(--fs-18)}h4{font-size:var(--fs-15)}p{margin:0}hr{border:0;border-top:1px solid var(--c-line-2);margin:0}strong{font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-ink-2);border-radius:var(--r-md);font-size:var(--fs-13);font-weight:500;transition:background var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1);white-space:nowrap}.btn:hover{background:var(--c-surface-3);border-color:#d7dbe2}.btn:active{background:#e9ecf1}.btn:focus-visible{outline:0;box-shadow:0 0 0 3px var(--c-primary-ring)}.btn.primary{background:var(--c-navy);color:#fff;border-color:var(--c-navy)}.btn.primary:hover{background:var(--c-navy-2);border-color:var(--c-navy-2)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--c-surface-3)}.btn.sm{height:28px;padding:0 10px;font-size:var(--fs-12);border-radius:var(--r-sm)}.btn.lg{height:40px;padding:0 18px;font-size:var(--fs-14)}.btn.icon{width:34px;padding:0}.btn.icon.sm{width:28px}.input,.select,.textarea{width:100%;height:34px;padding:0 10px;border:1px solid var(--c-line);background:var(--c-surface);border-radius:var(--r-md);font-size:var(--fs-13);color:var(--c-ink-2);transition:border-color var(--dur-1),box-shadow var(--dur-1)}.textarea{height:auto;padding:10px;min-height:80px}.input::placeholder{color:var(--c-ink-5)}.input:focus,.select:focus,.textarea:focus{outline:0;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-ring)}.field{display:flex;flex-direction:column;gap:6px}.field>label,.field>.field-lbl{font-size:var(--fs-12);color:var(--c-ink-4);font-weight:500}.card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-xl);box-shadow:var(--sh-1);overflow:hidden}.card>.card-head{padding:14px 18px;background:var(--c-navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}.card>.card-head h3{font-size:var(--fs-15);color:#fff}.card>.card-head .sub{color:#ffffffb8;font-size:var(--fs-12)}.card>.card-head .eyebrow{color:#fff9}.card>.card-head .muted{color:#ffffffb8}.card>.card-head .btn{background:#ffffff14;border-color:#ffffff2e;color:#fff}.card>.card-head .btn:hover{background:#ffffff24;border-color:#ffffff47}.card>.card-head .btn.primary{background:#fff;color:var(--c-navy);border-color:#fff}.card>.card-head .chip{background:#ffffff1f;color:#fff;border-color:#fff3}.card>.card-body{padding:18px}.card>.card-foot{padding:12px 18px;border-top:1px solid var(--c-line-2);display:flex;justify-content:flex-end;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;font-size:var(--fs-12);border-radius:var(--r-pill);background:var(--c-surface-3);color:var(--c-ink-3);border:1px solid var(--c-line-2);font-weight:500}.chip.lg{height:26px;padding:0 10px;font-size:var(--fs-13)}.chip .dot{width:6px;height:6px;border-radius:50%;background:var(--c-ink-4)}.chip.success{background:var(--c-success-soft);color:var(--c-success);border-color:transparent}.chip.success .dot{background:var(--c-success)}.chip.warning{background:var(--c-warning-soft);color:var(--c-warning);border-color:transparent}.chip.warning .dot{background:var(--c-warning)}.chip.danger{background:var(--c-danger-soft);color:var(--c-danger);border-color:transparent}.chip.danger .dot{background:var(--c-danger)}.chip.info{background:var(--c-info-soft);color:var(--c-info);border-color:transparent}.chip.info .dot{background:var(--c-info)}.chip.primary{background:var(--c-primary-soft);color:var(--c-primary);border-color:transparent}.chip.primary .dot{background:var(--c-primary)}.segmented{display:inline-flex;padding:3px;background:var(--c-surface-3);border-radius:var(--r-md);gap:2px}.segmented button{height:26px;padding:0 12px;border-radius:5px;font-size:var(--fs-12);font-weight:500;color:var(--c-ink-4);border:none;background:transparent;transition:background var(--dur-1),color var(--dur-1)}.segmented button.active{background:var(--c-navy)!important;color:#fff!important;box-shadow:var(--sh-1)}.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-13)}.tbl thead th{text-align:left;padding:10px 14px;font-weight:500;font-size:var(--fs-12);color:var(--c-ink-4);background:var(--c-surface-2);border-bottom:1px solid var(--c-line-2);position:sticky;top:0}.tbl tbody td{padding:12px 14px;border-bottom:1px solid var(--c-line-2);color:var(--c-ink-2);vertical-align:middle}.tbl tbody tr:hover td{background:var(--c-surface-2)}.tbl tbody tr:last-child td{border-bottom:0}.avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary);font-weight:600;font-size:11px;letter-spacing:.02em;flex:0 0 auto;font-family:var(--ff-mono)}.avatar.lg{width:40px;height:40px;font-size:13px}.avatar.xl{width:56px;height:56px;font-size:16px}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-family:var(--ff-mono);font-size:10px;color:var(--c-ink-4);background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:4px}.progress{width:100%;height:6px;background:var(--c-surface-3);border-radius:var(--r-pill);overflow:hidden}.progress>span{display:block;height:100%;background:var(--c-primary);border-radius:var(--r-pill)}.div-label{display:flex;align-items:center;gap:10px;color:var(--c-ink-5);font-size:var(--fs-12);margin:20px 0}.div-label:before,.div-label:after{content:"";flex:1;height:1px;background:var(--c-line-2)}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"side top" "side main";min-height:100vh;background:var(--c-bg);transition:grid-template-columns var(--dur-3) var(--ease-out)}.app.collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.app>.sidebar{grid-area:side;background:var(--c-navy);border-right:1px solid var(--c-navy-line);display:flex;flex-direction:column;overflow:hidden;position:sticky;top:0;height:100vh;color:var(--c-navy-ink);border-radius:0 20px 20px 0}.app>.sidebar .brand{height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--c-navy-line);flex-shrink:0}.app>.sidebar .brand .mark{width:32px;height:32px;border-radius:8px;background:#fff;color:var(--c-navy);display:grid;place-items:center;font-family:var(--ff-mono);font-weight:700;font-size:11px;flex:0 0 auto;cursor:pointer;-webkit-user-select:none;user-select:none}.app>.sidebar .brand .wordmark{font-weight:600;font-size:15px;color:var(--c-navy-ink);white-space:nowrap;opacity:1;transition:opacity var(--dur-2),width var(--dur-2);display:flex;flex-direction:column;line-height:1.15}.app>.sidebar .brand .wordmark .title{display:block;font-size:12px;letter-spacing:.04em;font-weight:600}.app>.sidebar .brand .wordmark .tld{display:block;color:var(--c-navy-muted);font-weight:400;font-size:10px;margin-top:2px}.app.collapsed .sidebar .brand .wordmark{opacity:0;width:0;pointer-events:none}.app.collapsed .sidebar .brand{padding:0;justify-content:center}.app.collapsed .sidebar .brand .collapse-btn{display:none}.app>.sidebar .side-sec{padding:14px 10px 6px;flex-shrink:0}.app>.sidebar .side-sec>.lbl{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-navy-muted);padding:0 8px 6px;font-weight:500;white-space:nowrap;transition:opacity var(--dur-2)}.app.collapsed .sidebar .side-sec>.lbl{opacity:0}.side-nav{display:flex;flex-direction:column;gap:2px}.side-nav a,.side-nav button{display:flex;align-items:center;gap:12px;height:34px;padding:0 10px;color:#b6c1d4;border-radius:var(--r-md);font-size:var(--fs-13);font-weight:500;position:relative;transition:background var(--dur-1),color var(--dur-1);white-space:nowrap;width:100%;text-align:left;border:none;background:transparent}.side-nav a svg,.side-nav button svg{flex:0 0 auto;color:#8996ac;transition:color var(--dur-1)}.side-nav a .lbl,.side-nav button .lbl{opacity:1;transition:opacity var(--dur-2);overflow:hidden}.app.collapsed .side-nav a,.app.collapsed .side-nav button{padding:0 17px}.app.collapsed .side-nav a .lbl,.app.collapsed .side-nav button .lbl{opacity:0;width:0;pointer-events:none}.side-nav a:hover,.side-nav button:hover{background:var(--c-navy-2);color:#fff}.side-nav a:hover svg,.side-nav button:hover svg{color:#fff}.side-nav a.active,.side-nav button.active{background:var(--c-navy-3);color:#fff;font-weight:600}.side-nav a.active:before,.side-nav button.active:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:3px;background:#fff;border-radius:0 3px 3px 0}.side-nav a.active svg,.side-nav button.active svg{color:#fff}.app>.sidebar .foot{margin-top:auto;padding:10px;border-top:1px solid var(--c-navy-line);flex-shrink:0}.app>.sidebar .foot .user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--r-md);transition:background var(--dur-1)}.app>.sidebar .foot .user:hover{background:var(--c-navy-2)}.app>.sidebar .foot .user .avatar{background:#ffffff1a;color:#fff}.app>.sidebar .foot .user .who{display:flex;flex-direction:column;min-width:0;flex:1;transition:opacity var(--dur-2)}.app>.sidebar .foot .user .n{font-weight:600;font-size:var(--fs-13);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app>.sidebar .foot .user .r{font-size:var(--fs-12);color:#8996ac}.app.collapsed .sidebar .foot .user .who{opacity:0;width:0;overflow:hidden;pointer-events:none}.app.collapsed .sidebar .foot .user{justify-content:center}.app.collapsed .sidebar .foot .user .btn{display:none}.app>.topbar{grid-area:top;background:var(--c-surface);border-bottom:1px solid var(--c-line);display:flex;align-items:center;gap:14px;padding:0 20px;position:sticky;top:0;z-index:10}.app>.topbar .crumbs{display:flex;align-items:center;gap:8px;color:var(--c-ink-4);font-size:var(--fs-13)}.app>.topbar .crumbs .sep{color:var(--c-ink-5)}.app>.topbar .crumbs .cur{color:var(--c-ink);font-weight:600}.app>.topbar .search{flex:1 1 400px;max-width:520px;margin:0 auto;position:relative;display:flex;align-items:center}.app>.topbar .search .input{height:34px;background:var(--c-surface-2);border-color:var(--c-line-2);padding-left:34px;padding-right:56px}.app>.topbar .search .input:hover{background:var(--c-surface-3)}.app>.topbar .search>svg{position:absolute;left:10px;color:var(--c-ink-5);pointer-events:none}.app>.topbar .search .kbd{position:absolute;right:8px}.app>.topbar .right{display:flex;align-items:center;gap:8px;margin-left:auto}.app>main.main{grid-area:main;padding:28px 32px 48px;overflow-y:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px;gap:20px}.page-head h1{font-size:var(--fs-28)}.page-head .sub{color:var(--c-ink-4);margin-top:6px;font-size:var(--fs-14)}.page-head .actions{display:flex;gap:8px;align-items:center}.topbar-logo{width:28px;height:28px;border-radius:var(--r-sm);object-fit:cover;border:1px solid var(--c-line)}.topbar-brand-mark{width:28px;height:28px;border-radius:var(--r-sm);background:var(--c-primary-soft);color:var(--c-primary);display:grid;place-items:center;font-size:11px;font-weight:700;font-family:var(--ff-mono)}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--c-bg)}.login-left{padding:48px 56px;display:flex;flex-direction:column;background:var(--c-surface);border-right:1px solid var(--c-line)}.login-left .brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;color:var(--c-ink)}.login-left .brand .mark{width:32px;height:32px;border-radius:8px;background:var(--c-ink);color:#fff;display:grid;place-items:center;font-family:var(--ff-mono);font-size:14px;font-weight:600}.login-form-wrap{margin:auto 0;max-width:380px;width:100%}.login-form-wrap h2{font-size:28px;margin-bottom:8px}.login-form-wrap .sub{color:var(--c-ink-4);margin-bottom:28px;font-size:var(--fs-14)}.login-form-wrap .field+.field{margin-top:14px}.login-form-wrap .field .input{height:40px}.login-form-wrap .row-between{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:var(--fs-12);color:var(--c-ink-4)}.login-form-wrap .row-between a{color:var(--c-primary)}.login-form-wrap .btn.primary{width:100%;height:42px;margin-top:20px;justify-content:center}.login-form-wrap .btn.primary:disabled{opacity:.6;cursor:not-allowed}.login-form-wrap .btn.google{width:100%;height:42px;margin-top:12px;justify-content:center}.login-foot{color:var(--c-ink-5);font-size:var(--fs-12);font-family:var(--ff-mono);margin-top:auto}.login-error{color:var(--c-danger);font-size:var(--fs-13);margin:8px 0 0}.login-hint{font-size:var(--fs-12);color:var(--c-ink-4);margin-top:4px}.input-verified{border-color:var(--c-primary)!important}.input-dimmed{opacity:.45;pointer-events:none}.login-right{padding:48px 56px;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--c-bg) 0%,#d5e0f2 100%);position:relative;overflow:hidden}.login-right .grid-bg{position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(to right,var(--c-line) 1px,transparent 1px),linear-gradient(to bottom,var(--c-line) 1px,transparent 1px);background-size:48px 48px}.login-right .quote{max-width:460px;margin:auto;padding:36px 32px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-xl);box-shadow:var(--sh-2)}.login-right .quote .eyebrow{margin-bottom:12px}.login-right .quote .body{font-size:20px;line-height:1.4;letter-spacing:-.01em;color:var(--c-ink)}.login-right .quote .who{margin-top:20px;display:flex;align-items:center;gap:12px}.login-right .quote .who .n{font-weight:600;color:var(--c-ink);font-size:14px}.login-right .quote .who .r{color:var(--c-ink-4);font-size:12px}.dash-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-top:16px}.next-list{display:flex;flex-direction:column}.next-row{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid var(--c-line-2)}.next-row:first-child{border-top:0}.next-row .time{font-family:var(--ff-mono);font-size:13px;color:var(--c-ink);font-weight:500}.next-row .time .dur{display:block;font-size:11px;color:var(--c-ink-5);font-weight:400;margin-top:2px}.next-row .info .who{font-weight:600;color:var(--c-ink);font-size:14px}.next-row .info .meta{font-size:12px;color:var(--c-ink-4);margin-top:2px}.mini-stat{display:flex;justify-content:space-between;align-items:baseline;padding:12px 16px;border-bottom:1px solid var(--c-line-2)}.mini-stat:last-child{border-bottom:0}.mini-stat .lbl{color:var(--c-ink-3);font-size:13px}.mini-stat .v{font-family:var(--ff-mono);font-weight:500;color:var(--c-ink)}.agenda-toolbar{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--c-navy);color:#fff;flex-wrap:wrap}.agenda-toolbar .date-nav{display:flex;align-items:center;gap:4px}.agenda-toolbar .date-nav .today-lbl{font-weight:500;font-size:13px;color:#fff;min-width:140px}.agenda-toolbar .date-nav .btn,.agenda-toolbar>.btn{background:#ffffff14;border-color:#ffffff2e;color:#fff}.agenda-toolbar .date-nav .btn:hover,.agenda-toolbar>.btn:hover{background:#ffffff24;border-color:#ffffff47}.agenda-toolbar .spacer{flex:1}.agenda-toolbar .therapist-pill{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border:1px solid rgba(255,255,255,.2);border-radius:var(--r-pill);background:#ffffff14;color:#fff;font-size:13px;cursor:pointer}.cal{display:grid;grid-template-columns:56px repeat(7,1fr);border-top:1px solid var(--c-line-2)}.cal .hd{padding:10px 6px;border-bottom:1px solid var(--c-line-2);border-right:1px solid var(--c-line-2);background:var(--c-surface);text-align:center;position:sticky;top:0;z-index:2}.cal .hd .day-name{font-size:11px;color:var(--c-ink-4);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.cal .hd .day-num{font-family:var(--ff-mono);font-size:18px;color:var(--c-ink);font-weight:500;margin-top:2px}.cal .hd.today .day-num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--c-navy);color:#fff}.cal .gutter-hd{border-bottom:1px solid var(--c-line-2);background:var(--c-surface)}.cal .gutter{border-right:1px solid var(--c-line-2);position:relative;text-align:right;padding-right:8px}.cal .gutter .hr{position:absolute;right:6px;font-family:var(--ff-mono);font-size:10px;color:var(--c-ink-5);transform:translateY(-6px)}.cal .cal-col{position:relative;border-right:1px solid var(--c-line-2);background:var(--c-surface);min-height:700px}.cal .cal-col .hour-line{position:absolute;left:0;right:0;border-top:1px dashed var(--c-line-2)}.cal .cal-col .half-line{position:absolute;left:0;right:0;border-top:1px dotted #f2f4f7}.cal .cal-col.weekend{background:var(--c-surface-2)}.cal .cal-col.today-col{background:linear-gradient(180deg,#f7f9fc 0%,var(--c-surface) 100%)}.cal .now-line{position:absolute;left:0;right:0;border-top:2px solid var(--c-primary);z-index:3}.cal .now-line:before{content:"";position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--c-primary)}.evt{position:absolute;left:4px;right:4px;border-radius:var(--r-sm);padding:6px 8px;background:var(--c-primary-soft);border-left:3px solid var(--c-primary);color:var(--c-primary);font-size:12px;line-height:1.3;cursor:pointer;overflow:hidden;transition:transform var(--dur-1),box-shadow var(--dur-1)}.evt:hover{transform:translateY(-1px);box-shadow:var(--sh-2)}.evt .t{font-family:var(--ff-mono);font-size:10px;opacity:.85;display:block}.evt .n{font-weight:600;color:var(--c-ink)}.evt.pend{background:var(--c-warning-soft);border-left-color:var(--c-warning);color:var(--c-warning)}.evt.conf{background:var(--c-success-soft);border-left-color:var(--c-success);color:var(--c-success)}.evt.canc{background:var(--c-surface-3);border-left-color:var(--c-ink-5);color:var(--c-ink-4);text-decoration:line-through}.people-hd{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--c-navy);color:#fff;flex-wrap:wrap}.people-hd .search-wrap{flex:1 1 280px;max-width:420px}.people-hd .search-wrap .input{background:#ffffff14;border-color:#ffffff29;color:#fff}.people-hd .search-wrap .input::placeholder{color:#ffffff8c}.people-hd .btn{background:#ffffff14;border-color:#ffffff2e;color:#fff}.people-hd .btn:hover{background:#ffffff24;border-color:#ffffff47}.people-hd .segmented{background:#ffffff14;border:none}.people-hd .segmented button{color:#ffffffb8}.people-hd .segmented button:hover{color:#fff;background:#ffffff14}.people-hd .segmented button.active{background:#fff!important;color:var(--c-navy)!important}.tab-nav{display:flex;gap:2px;padding:10px 12px;background:var(--c-navy)}.tab-nav button{padding:8px 14px;color:#ffffffb8;font-size:13px;font-weight:500;border:none;border-radius:6px;background:transparent;transition:color .15s,background .15s}.tab-nav button:hover{color:#fff;background:#ffffff0f}.tab-nav button.active{color:var(--c-navy)!important;background:#fff!important;font-weight:600}.tbl .cell-patient{display:flex;align-items:center;gap:10px}.tbl .cell-patient .cn{font-weight:600;color:var(--c-ink)}.tbl .cell-patient .cm{font-size:12px;color:var(--c-ink-4)}.tests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.test-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-xl);padding:18px;display:flex;flex-direction:column;gap:12px;transition:border-color var(--dur-1),box-shadow var(--dur-1),transform var(--dur-1);cursor:pointer}.test-card:hover{border-color:#d0d5dc;box-shadow:var(--sh-2);transform:translateY(-1px)}.test-card .tc-top{display:flex;justify-content:space-between;align-items:flex-start}.test-card .tc-code{font-family:var(--ff-mono);font-size:11px;color:var(--c-ink-5);letter-spacing:.04em;text-transform:uppercase}.test-card h4{font-size:16px;letter-spacing:-.01em;line-height:1.3}.test-card p.desc{font-size:13px;color:var(--c-ink-4);line-height:1.5;flex:1}.empty{padding:48px 24px;text-align:center;color:var(--c-ink-4);display:flex;flex-direction:column;align-items:center;gap:10px}.cp-backdrop{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;z-index:200}.cp-box{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-xl);padding:36px;width:100%;max-width:420px;display:grid;gap:16px;text-align:center;box-shadow:var(--sh-pop)}.cp-box h2{font-size:20px}.cp-box>p{color:var(--c-ink-4);font-size:14px;line-height:1.6}.cp-form{display:grid;gap:14px;text-align:left}.cp-form label{display:grid;gap:6px;font-size:14px;font-weight:500;color:var(--c-ink-2)}.cp-form input{height:40px;border-radius:var(--r-md);border:1px solid var(--c-line);background:var(--c-surface-2);padding:0 12px;font-size:14px;color:var(--c-ink)}.cp-form input:focus{outline:0;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-ring)}.cp-form .cp-submit{height:42px;border-radius:var(--r-md);border:none;background:var(--c-navy);color:#fff;font-weight:600;font-size:15px;cursor:pointer;margin-top:4px}.cp-form .cp-submit:disabled{opacity:.65;cursor:not-allowed}.cp-error{margin:0;font-size:13px;color:var(--c-danger)}.cp-hint{font-size:11px;color:var(--c-ink-5);margin-top:2px}.to-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.to-q-chip{padding:10px 8px;border-radius:var(--r-md);border:1px solid var(--c-line);background:var(--c-surface-2);color:var(--c-navy);font-size:13px;font-weight:500;cursor:pointer;text-align:center}.to-q-chip.active{background:var(--c-navy);color:#fff;border-color:var(--c-navy)}.to-q-chip:hover:not(.active){border-color:var(--c-primary)}.to-periodo{display:flex;align-items:flex-start;gap:8px}.to-period-col{flex:1;display:flex;flex-direction:column;gap:6px}.to-period-lbl{font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--c-ink-4)}.to-date-field{display:flex;align-items:center;gap:6px;border:1px solid var(--c-line);border-radius:var(--r-md);padding:0 10px;background:var(--c-surface-2)}.to-date-field input{border:none;background:transparent;height:34px;font-size:13px;color:var(--c-ink);flex:1;outline:none;min-width:0}.to-period-sep{font-size:18px;color:var(--c-ink-4);padding-top:32px;flex-shrink:0}.to-reason-chips{display:flex;flex-wrap:wrap;gap:8px}.to-r-chip{padding:6px 14px;border-radius:20px;border:1px solid var(--c-line);background:transparent;font-size:13px;color:var(--c-ink);cursor:pointer}.to-r-chip.active{border-color:var(--c-navy);background:color-mix(in srgb,var(--c-navy) 8%,transparent);color:var(--c-navy);font-weight:600}.to-notes-input{width:100%;height:38px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-2);padding:0 14px;font-size:13px;color:var(--c-ink);box-sizing:border-box}.to-conflict-head{display:flex;justify-content:space-between;align-items:center}.to-conflict-badge{font-size:12px;font-weight:700;color:var(--c-danger, #dc2626)}.to-conflict-list{display:grid;border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden}.to-conflict-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--c-surface);border-bottom:1px solid var(--c-line)}.to-conflict-item:last-child{border-bottom:none}.to-conflict-time{font-size:13px;font-weight:700;min-width:42px}.to-conflict-info{flex:1}.to-conflict-info strong{font-size:13px;font-weight:600}.to-conflict-note{margin:0;font-size:12px;color:var(--c-ink-4);line-height:1.5}.to-reg-list{display:grid;gap:8px}.to-reg-empty{font-size:13px;color:var(--c-ink-4);padding:4px 0}.to-reg-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface-2)}.to-reg-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.to-reg-info{flex:1;display:flex;flex-direction:column;gap:2px}.to-reg-info strong{font-size:13px;font-weight:600}.to-reg-info span{font-size:11px;color:var(--c-ink-4)}.to-del-btn{width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--c-line);background:transparent;color:var(--c-ink-4);font-size:14px;cursor:pointer;flex-shrink:0;display:grid;place-items:center}.to-del-btn:hover:not(:disabled){color:var(--c-danger, #dc2626);border-color:var(--c-danger, #dc2626)}.to-danger-btn{height:40px;padding:0 20px;border-radius:var(--r-xl);border:none;background:var(--c-danger, #dc2626);color:#fff;font-weight:600;font-size:14px;cursor:pointer}.to-danger-btn:disabled{opacity:.55;cursor:not-allowed}.drawer-inline-confirm{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:var(--r-lg);background:color-mix(in srgb,var(--c-warning, #f59e0b) 10%,transparent);border:1px solid color-mix(in srgb,var(--c-warning, #f59e0b) 25%,transparent)}.dic-msg{margin:0;font-size:13px;color:var(--c-ink);line-height:1.5}.dic-actions{display:flex;gap:8px;justify-content:flex-end}
