.dportal{--font-heading:var(--font-instrument-sans),system-ui,-apple-system,sans-serif;--font-body:var(--font-plus-jakarta-sans),system-ui,-apple-system,sans-serif;--ca:var(--clinic-accent,#4c3fd4);--ca-core:color-mix(in oklab,var(--ca) 62%,#0f172a);--ca-glow:color-mix(in srgb,var(--ca) 22%,transparent);--color-bg:#ffffff;--color-surface:#ffffff;--color-text:#0f172a;--color-divider:#f1f5f9;--color-border:#e2e8f0;--color-accent:var(--ca);--sh-1:0 1px 3px 0 rgba(0,0,0,0.04),0 1px 2px -1px rgba(0,0,0,0.03);--sh-2:0 4px 6px -1px rgba(0,0,0,0.05),0 2px 4px -2px rgba(0,0,0,0.03);--sh-3:0 10px 15px -3px rgba(0,0,0,0.08),0 4px 6px -4px rgba(0,0,0,0.03);--hair:1px solid #e2e8f0;--glint:inset 0 1px 0 rgba(255,255,255,0.9);--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-400:#94a3b8;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a;--color-accent-100:color-mix(in oklab,var(--ca) 7%,#ffffff);--color-accent-200:color-mix(in oklab,var(--ca) 15%,#ffffff);--color-accent-300:color-mix(in oklab,var(--ca) 30%,#ffffff);--color-accent-400:color-mix(in oklab,var(--ca) 54%,#ffffff);--color-accent-500:color-mix(in oklab,var(--ca) 76%,#ffffff);--color-accent-600:color-mix(in oklab,var(--ca) 92%,#ffffff);--color-accent-700:var(--ca);--color-accent-800:color-mix(in oklab,var(--ca) 76%,#0f172a);--color-accent-900:color-mix(in oklab,var(--ca) 46%,#0f172a);--color-accent-2-100:#ecfdf5;--color-accent-2-200:#d1fae5;--color-accent-2-300:#a7f3d0;--color-accent-2-400:#6ee7b7;--color-accent-2-500:#10b981;--color-accent-2-600:#059669;--color-accent-2-700:#047857;--color-accent-2-800:#065f46;--color-accent-2-900:#064e3b;--ease:cubic-bezier(0.16,1,0.3,1);background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;height:100vh;display:flex}.dportal *,.dportal :after,.dportal :before{box-sizing:border-box}.dportal a{color:var(--color-accent-700)}.dportal a:hover{color:var(--color-accent-500)}.dportal h1,.dportal h2,.dportal h3,.dportal h4{font-family:var(--font-heading);font-weight:600;letter-spacing:-.018em;margin:0;line-height:1.25;color:var(--color-neutral-900)}.dportal button{font-family:var(--font-body)}.dportal :focus-visible{outline:2px solid var(--ca);outline-offset:2px}@keyframes dp-up{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes dp-fade{0%{opacity:0}to{opacity:1}}@keyframes dp-grow{0%{width:0}}@keyframes dp-draw{0%{stroke-dashoffset:220}to{stroke-dashoffset:0}}@keyframes dp-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:0;transform:scale(2.4)}}.dportal .scr{animation:dp-fade .22s ease both}.dportal .stg>*{animation:dp-up .46s var(--ease) both}.dportal .stg>:first-child{animation-delay:.02s}.dportal .stg>:nth-child(2){animation-delay:.07s}.dportal .stg>:nth-child(3){animation-delay:.12s}.dportal .stg>:nth-child(4){animation-delay:.17s}.dportal .stg>:nth-child(5){animation-delay:.22s}.dportal .stg>:nth-child(6){animation-delay:.27s}.dportal .bar>i{display:block;height:100%;border-radius:3px;background:var(--ca);animation:dp-grow .8s var(--ease) both}.dportal .spark{stroke-dasharray:220;animation:dp-draw 1.1s var(--ease) both}.dportal .card{border-radius:12px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--sh-1)}.dportal .lift{transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}.dportal .lift:hover{transform:translateY(-1.5px);box-shadow:var(--sh-2);border-color:var(--color-neutral-300)}.dportal .quiet{border-radius:10px;background:var(--color-neutral-100);border:1px solid var(--color-border)}.dportal .rule{height:1px;background:var(--color-border)}.dportal .row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;color:inherit;font:inherit;padding:0;cursor:pointer}.dportal .lr{position:relative;transition:background .16s var(--ease)}.dportal .lr:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2.5px;border-radius:0 3px 3px 0;background:var(--ca);opacity:0;transition:opacity .16s}.dportal .lr:hover{background:var(--color-neutral-50)}.dportal .lr:hover:before{opacity:1}.dportal .rev{opacity:0;transform:translateX(-5px);transition:opacity .18s var(--ease),transform .18s var(--ease)}.dportal .lr:focus-within .rev,.dportal .lr:hover .rev,.dportal .rev:focus-visible{opacity:1;transform:none}.dportal .nv{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-neutral-700,#334155);font:500 13px var(--font-body);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease)}.dportal .nv:hover{background:var(--color-neutral-100,#f1f5f9);color:var(--color-neutral-900,#0f172a)}.dportal .nv-on{background:var(--color-accent-100,#f0fdf4);color:var(--ca,#0f172a);border-color:var(--color-accent-200,transparent);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.03)}.dportal .nv-on:hover{background:var(--color-accent-200,#e2e8f0);color:var(--ca,#0f172a)}.dportal .nvb{font:600 10.5px var(--font-body);padding:1px 7px;border-radius:999px;background:var(--color-neutral-200,#e2e8f0);color:var(--color-neutral-700,#334155)}.dportal .nv-on .nvb{background:var(--color-accent-200);color:var(--ca)}.dportal .sk{font:600 10.5px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-400,#94a3b8);padding:0 12px 6px}.dportal .dchip{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--color-neutral-50,#f8fafc);border:1px solid var(--color-border,#e2e8f0);cursor:pointer;transition:background .15s,border-color .15s}.dportal .dchip:hover{background:var(--color-neutral-100,#f1f5f9);border-color:var(--color-neutral-300,#cbd5e1)}.dportal .dseg{border:0;background:transparent;padding:5px 10px;border-radius:6px;font:500 11.5px var(--font-body);color:var(--color-neutral-500,#64748b);cursor:pointer;transition:background .15s,color .15s;flex:1}.dportal .dseg:hover{color:var(--color-neutral-900,#0f172a)}.dportal .dseg-on{background:var(--color-accent-100,#f1f5f9);color:var(--ca,#0f172a);font-weight:600}.dportal .pbtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 15px;border-radius:8px;border:1px solid rgba(0,0,0,.1);background:#0f172a;color:#fff;font:500 13px var(--font-body);letter-spacing:-.005em;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.06);transition:all .16s var(--ease)}.dportal .pbtn:hover{background:#1e293b;box-shadow:0 2px 4px rgba(0,0,0,.08)}.dportal .pbtn:active{transform:translateY(1px)}.dportal .abtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 15px;border-radius:8px;border:1px solid rgba(0,0,0,.08);background:var(--ca);color:#fff;font:500 13px var(--font-body);cursor:pointer;box-shadow:0 1px 3px var(--ca-glow);transition:all .16s var(--ease)}.dportal .abtn:hover{filter:brightness(1.08);box-shadow:0 2px 6px var(--ca-glow)}.dportal .abtn:active{transform:translateY(1px)}.dportal .abtn:disabled{opacity:.5;cursor:not-allowed}.dportal .sbtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--color-border);background:#ffffff;color:var(--color-neutral-700);font:500 13px var(--font-body);cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:all .16s var(--ease)}.dportal .sbtn:hover{background:var(--color-neutral-50);border-color:var(--color-neutral-300);color:var(--color-neutral-900)}.dportal .sbtn:active{transform:translateY(1px)}.dportal .gbtn{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--color-neutral-600);font:500 13px var(--font-body);cursor:pointer;padding:6px 10px;border-radius:8px;transition:all .16s var(--ease)}.dportal .gbtn:hover{background:var(--color-neutral-100);color:var(--color-neutral-900)}.dportal .ibtn{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--color-border);background:#ffffff;color:var(--color-neutral-600);cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.03);transition:all .16s var(--ease)}.dportal .ibtn:hover{background:var(--color-neutral-50);border-color:var(--color-neutral-300);color:var(--color-neutral-900)}.dportal .chip{display:inline-flex;align-items:center;gap:5px;font:500 11.5px var(--font-body);padding:3px 9px;border-radius:6px;white-space:nowrap;letter-spacing:.005em;border:1px solid transparent}.dportal .c-need{background:#fef2f2;border-color:#fee2e2;color:#dc2626}.dportal .c-new{background:var(--color-accent-100);border-color:var(--color-accent-200);color:var(--ca)}.dportal .c-flat{background:var(--color-neutral-100);border-color:var(--color-neutral-200);color:var(--color-neutral-700)}.dportal .c-done{background:#ecfdf5;border-color:#d1fae5;color:#059669}.dportal .c-hold{background:#fffbeb;border-color:#fef3c7;color:#d97706}.dportal .kick{color:var(--color-neutral-500)}.dportal .kick,.dportal .kick-a{font:600 11px var(--font-body);letter-spacing:.05em;text-transform:uppercase}.dportal .kick-a{color:var(--ca)}.dportal .num{font-family:var(--font-heading);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.dportal .pane{overflow:auto;padding:24px 32px 36px}.dportal .pane::-webkit-scrollbar{width:10px;height:10px}.dportal .pane::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:10px;border:3px solid var(--color-bg)}.dportal .pane::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}.dportal .pane::-webkit-scrollbar-track{background:transparent}.dportal .tbh{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#fff,#fafbfd);box-shadow:0 1px 0 rgba(19,20,27,.07)}.dportal .seg{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:8px;background:var(--color-neutral-100);border:1px solid var(--color-border)}.dportal .seg-o{border:0;background:transparent;padding:5px 12px;border-radius:6px;font:500 12.5px var(--font-body);color:var(--color-neutral-600);cursor:pointer;transition:all .16s var(--ease)}.dportal .seg-o:hover,.dportal .seg-on{color:var(--color-neutral-900)}.dportal .seg-on{background:#fff;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}.dportal .tbar{position:sticky;top:0;z-index:20;height:56px;padding:0 32px;display:flex;align-items:center;background:rgba(255,255,255,.85);backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);border-bottom:1px solid var(--color-border)}.dportal .live{position:relative}.dportal .live:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--ca);animation:dp-pulse 2.2s ease-out infinite}.login-hero{display:none}@media (min-width:960px){.login-grid{grid-template-columns:minmax(0,1fr) minmax(0,480px)!important}.login-hero{display:flex}}.dportal input::-moz-placeholder{color:var(--color-neutral-500)}.dportal input::placeholder{color:var(--color-neutral-500)}@keyframes dp-drawer-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes dp-drawer-overlay{0%{opacity:0}to{opacity:1}}.dportal .dw-overlay{position:fixed;inset:0;z-index:90;background:rgba(19,20,27,.35);backdrop-filter:blur(2px);animation:dp-drawer-overlay .2s ease both}.dportal .dw{position:fixed;top:0;right:0;bottom:0;z-index:100;width:460px;max-width:100vw;background:var(--color-surface);box-shadow:var(--sh-3);display:flex;flex-direction:column;animation:dp-drawer-in .28s var(--ease) both}.dportal .dw-head{flex:none;padding:18px 24px 16px;display:flex;align-items:center;gap:12px;border-bottom:var(--hair)}.dportal .dw-body{flex:1;min-height:0;overflow-y:auto;padding:20px 24px}.dportal .dw-foot{flex:none;padding:16px 24px;border-top:var(--hair);display:flex;justify-content:flex-end;gap:10px;background:var(--color-neutral-100)}.dportal .dw-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.dportal .dw-label{font:600 11px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-600)}.dportal .dw-input{width:100%;height:40px;padding:0 14px;border-radius:10px;border:var(--hair);background:#fff;font:500 13.5px var(--font-body);color:var(--color-neutral-900);outline:none;transition:border-color .16s,box-shadow .16s}.dportal .dw-input:focus{border-color:var(--color-accent-400);box-shadow:0 0 0 3px var(--color-accent-100)}.dportal .dw-select{width:100%;height:40px;padding:0 14px;border-radius:10px;border:var(--hair);background:#fff;font:500 13.5px var(--font-body);color:var(--color-neutral-900);outline:none}.dportal [contenteditable][data-placeholder]:empty:before{content:attr(data-placeholder);color:var(--color-neutral-400);pointer-events:none}.dportal [contenteditable] ul{margin:6px 0;padding-left:22px;list-style:disc}.dportal [contenteditable] ol{margin:6px 0;padding-left:22px;list-style:decimal}.dportal [contenteditable] li{margin:2px 0}.dportal .field-box{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:8px;background:#ffffff;border:1px solid var(--color-border);transition:border-color .15s ease,box-shadow .15s ease;position:relative}.dportal .field-box:focus-within{border-color:var(--ca);background:#ffffff;box-shadow:0 0 0 3px var(--color-accent-100)}.dportal .field-box.field-error{border-color:#ef4444;background:#fef2f2}.dportal .field-box input{flex:1;font-size:13px;border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important;color:var(--color-neutral-900);font-family:var(--font-body);height:100%}.dportal .field-box input:focus,.dportal .field-box input:focus-visible{outline:none!important;box-shadow:none!important;border:none!important}.dportal .modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(19,20,27,.48);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;animation:dp-fade .18s cubic-bezier(.16,1,.3,1)}.dportal .modal-content{width:100%;border-radius:12px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--sh-3);animation:dp-up .22s cubic-bezier(.16,1,.3,1)}