:root{--primary: #0b8f84;--accent: #2f6fed;--sidebar: #0f2a2e;--sidebar-text: #c6dcdc;--danger: #e5484d;--warning: #e2a336;--success: #30a46c;--info: #0090ff;--bg: #f3f6f7;--surface: #ffffff;--surface-2: #f8f9fb;--surface-3: #eef0f4;--border: #e1e4ea;--border-strong: #cdd2db;--text: #1c2130;--text-2: #4d5568;--text-3: #7c8496;--radius: 8px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .14), 0 2px 6px rgba(16, 24, 40, .06);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--row-h: 40px;--topbar-h: 56px;--nav-w: 64px}:root[data-density=compact]{--row-h: 32px}:root[data-theme=dark]{--bg: #111318;--surface: #1a1d24;--surface-2: #20242c;--surface-3: #272b35;--border: #2e333e;--border-strong: #3b4150;--text: #e8eaf0;--text-2: #b4bac8;--text-3: #8890a2;--shadow: 0 1px 3px rgba(0,0,0,.4);--shadow-lg: 0 12px 32px rgba(0,0,0,.5)}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;font-family:var(--font);font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em}h1{font-size:20px}h2{font-size:17px}h3{font-size:15px}h4{font-size:13px}p{margin:0 0 8px}hr{border:0;border-top:1px solid var(--border);margin:12px 0}code{background:var(--surface-3);padding:1px 5px;border-radius:4px;font-size:12px}::selection{background:color-mix(in srgb,var(--primary) 25%,transparent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}.btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-weight:550;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,box-shadow .12s}.btn:hover{background:var(--surface-2);border-color:var(--text-3);text-decoration:none}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{filter:brightness(1.07)}.btn.success{background:var(--accent);border-color:var(--accent);color:#fff}.btn.success:hover{filter:brightness(1.06)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-3)}.btn.sm{height:28px;padding:0 9px;font-size:13px}.btn.xs{height:24px;padding:0 7px;font-size:12px}.btn.icon{width:34px;padding:0;justify-content:center}.btn.icon.sm{width:28px}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0;margin-left:-1px}.btn-group .btn:first-child{border-radius:var(--radius) 0 0 var(--radius);margin-left:0}.btn-group .btn:last-child{border-radius:0 var(--radius) var(--radius) 0}.btn-group .btn.active{background:color-mix(in srgb,var(--primary) 12%,var(--surface));border-color:var(--primary);color:var(--primary);z-index:1}.link{background:none;border:0;padding:0;color:var(--primary);font:inherit;cursor:pointer}.link:hover{text-decoration:underline}.link.muted{color:var(--text-3)}.input,select.input,textarea.input{width:100%;height:34px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;transition:border-color .12s,box-shadow .12s}textarea.input{height:auto;min-height:72px;padding:8px 10px;resize:vertical;line-height:1.45}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.input.sm{height:28px;font-size:13px}.input.invalid{border-color:var(--danger)}.form-row{margin-bottom:14px}.form-row>label,.label{display:block;font-size:12.5px;font-weight:600;color:var(--text-2);margin-bottom:5px}.form-row .hint,.hint{font-size:12px;color:var(--text-3);margin-top:4px}.req{color:var(--danger)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.check{display:inline-flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none}.check input{width:16px;height:16px;accent-color:var(--primary)}.switch{position:relative;width:34px;height:20px;flex:none}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-strong);border-radius:20px;transition:.15s;cursor:pointer}.switch span:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.15s;box-shadow:var(--shadow-sm)}.switch input:checked+span{background:var(--primary)}.switch input:checked+span:before{transform:translate(14px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);box-shadow:var(--shadow-sm)}.card-h{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border)}.card-h h3{flex:1}.card-b{padding:16px}.muted{color:var(--text-3)}.small{font-size:12.5px}.tiny{font-size:11.5px}.bold{font-weight:650}.right{text-align:right}.center{text-align:center}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:8px}.grow{flex:1;min-width:0}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spacer{flex:1}.mt{margin-top:12px}.mb{margin-bottom:12px}.mt-lg{margin-top:24px}.hidden{display:none!important}.empty{padding:40px 20px;text-align:center;color:var(--text-3)}.empty svg{opacity:.5;margin-bottom:8px}.tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:10px;font-size:11.5px;font-weight:600;white-space:nowrap;background:var(--surface-3);color:var(--text-2)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:11px;font-weight:700;background:var(--danger);color:#fff}.status-open{color:var(--info)}.status-won{color:var(--success)}.status-lost{color:var(--danger)}.pill-won{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.pill-lost{background:color-mix(in srgb,var(--danger) 13%,transparent);color:var(--danger)}.pill-open{background:color-mix(in srgb,var(--info) 13%,transparent);color:var(--info)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;flex:none;text-transform:uppercase}.table-wrap{overflow:auto;background:var(--surface)}table.table{width:100%;border-collapse:separate;border-spacing:0}.table th{position:sticky;top:0;z-index:2;background:var(--surface-2);text-align:left;font-size:12px;font-weight:650;color:var(--text-2);padding:0 10px;height:36px;border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.table th.sortable{cursor:pointer}.table th.sortable:hover{color:var(--text)}.table td{padding:0 10px;height:var(--row-h);border-bottom:1px solid var(--border);white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}.table tr:hover td{background:var(--surface-2)}.table tr.selected td{background:color-mix(in srgb,var(--primary) 7%,var(--surface))}.table td.chk,.table th.chk{width:36px;padding:0 0 0 12px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border)}.tab{padding:10px 14px;border:0;background:none;font:inherit;color:var(--text-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:550;display:inline-flex;align-items:center;gap:6px}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.page{height:100%;display:flex;flex-direction:column;min-height:0}.page-h{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;min-height:58px}.page-h h1{margin-right:6px}.page-b{flex:1;overflow:auto;min-height:0}.page-pad{padding:20px}.toolbar{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.menu{position:absolute;z-index:1000;min-width:200px;max-height:420px;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:5px}.menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:0;background:none;border-radius:6px;font:inherit;color:var(--text);text-align:left;cursor:pointer}.menu-item:hover,.menu-item.active{background:var(--surface-3);text-decoration:none}.menu-item.danger{color:var(--danger)}.menu-sep{height:1px;background:var(--border);margin:5px 0}.menu-title{padding:6px 10px 4px;font-size:11px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.spinner{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{display:flex;align-items:center;justify-content:center;padding:40px}.kbd{display:inline-block;padding:1px 6px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;font-size:11px;color:var(--text-3);background:var(--surface-2)}.progress{height:8px;border-radius:4px;background:var(--surface-3);overflow:hidden}.progress>div{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.section-title{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin:18px 0 8px}.rich{line-height:1.5;word-wrap:break-word}.rich p{margin:0 0 6px}.rich ul,.rich ol{margin:0 0 6px;padding-left:20px}.rich img{max-width:100%}.mention{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);border-radius:4px;padding:0 3px;font-weight:600}@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}.page-h{padding:10px 14px}.hide-mobile{display:none!important}}.shell{display:flex;height:100%}.nav{width:218px;flex:none;background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column;transition:width .15s}.nav.collapsed{width:62px}.nav-brand{display:flex;align-items:center;gap:10px;padding:14px 16px;color:#fff;font-weight:750;font-size:15px;height:var(--topbar-h)}.nav-brand .logo{width:30px;height:30px;border-radius:8px;background:var(--primary);display:flex;align-items:center;justify-content:center;flex:none}.nav-brand img{width:30px;height:30px;border-radius:8px;object-fit:cover}.nav-items{flex:1;overflow:auto;padding:6px 8px;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:8px;color:var(--sidebar-text);font-weight:550;text-decoration:none!important;white-space:nowrap;position:relative}.nav-item:hover{background:#ffffff12;color:#fff}.nav-item.router-link-active,.nav-item.active{background:color-mix(in srgb,var(--primary) 32%,transparent);color:#fff}.nav-item .badge{position:absolute;right:8px}.nav.collapsed .nav-item span.lbl,.nav.collapsed .nav-brand span{display:none}.nav-foot{padding:10px 8px;border-top:1px solid rgba(255,255,255,.08)}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);flex:none}.topbar .search-box{flex:1;max-width:520px;position:relative}.topbar .search-box .input{padding-left:34px;background:var(--surface-2)}.topbar .search-box .icon{position:absolute;left:10px;top:9px;color:var(--text-3)}.content{flex:1;min-height:0;overflow:hidden}.search-results{position:absolute;top:40px;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:950;max-height:420px;overflow:auto}.search-results .menu-item{padding:8px 12px}.idle-warn{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:2000;background:#1e2a32;color:#fff;padding:10px 16px;border-radius:10px;box-shadow:var(--shadow-lg);display:flex;gap:12px;align-items:center}@media(max-width:900px){.nav{position:fixed;z-index:980;height:100%;left:-230px}.nav.open{left:0}.nav.collapsed{width:218px}}.toasts{position:fixed;right:16px;bottom:16px;z-index:3000;display:flex;flex-direction:column;gap:8px}.toast{min-width:240px;max-width:420px;padding:11px 14px;border-radius:10px;background:#1e2a32;color:#fff;box-shadow:var(--shadow-lg);font-weight:550;display:flex;gap:8px;align-items:flex-start;animation:pop .15s}.toast.error{background:#b42318}.toast.warn{background:#b45309}.alert{padding:10px 12px;border-radius:var(--radius);display:flex;gap:8px;align-items:flex-start;margin-bottom:12px;font-size:13.5px}.alert.info{background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:color-mix(in srgb,var(--accent) 70%,var(--text))}.alert.warn{background:#fff6e5;color:#8a4b00}.alert.danger{background:#fdecec;color:#a3261c}.alert.ok{background:#e8f6ef;color:#14532d}:root[data-theme=dark] .alert.warn{background:#3a2a10;color:#ffcf8a}:root[data-theme=dark] .alert.danger{background:#3c1614;color:#ffb4ab}:root[data-theme=dark] .alert.ok{background:#12301f;color:#a6e3bf}.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:11px;font-size:12px;font-weight:650;white-space:nowrap;background:color-mix(in srgb,var(--c, #8a94a6) 15%,transparent);color:color-mix(in srgb,var(--c, #8a94a6) 85%,var(--text))}.chip .dot{background:var(--c, #8a94a6)}.chip.solid{background:var(--c);color:#fff}.allergy{background:#fdecec;color:#a3261c}:root[data-theme=dark] .allergy{background:#3c1614;color:#ffb4ab}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);padding:14px 16px}.kpi .v{font-size:24px;font-weight:750;letter-spacing:-.02em}.kpi .l{font-size:12.5px;color:var(--text-3);margin-top:2px}.kpi.link{cursor:pointer}.kpi.link:hover{border-color:var(--primary)}.grid-home{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}.grid-home>*,.grid-2>*,.grid-3>*{min-width:0}.tabs .tab{white-space:nowrap;flex:none}@media(max-width:1100px){.grid-home{grid-template-columns:1fr}}.list-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.list-row.clickable{cursor:pointer}.list-row.clickable:hover{background:var(--surface-2)}.kanban{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:12px;padding:16px 20px;align-items:start;overflow-x:auto}.kcol{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;min-height:120px}.kcol-h{padding:10px 12px;font-weight:700;font-size:13px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}.kcard{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--c, var(--primary));border-radius:8px;padding:9px 10px;margin:8px;box-shadow:var(--shadow-sm);cursor:pointer}.kcard:hover{box-shadow:var(--shadow)}.agenda{display:flex;flex-direction:column;height:100%;min-height:0}.agenda-grid{flex:1;overflow:auto;position:relative;background:var(--surface)}.ag-head{display:grid;position:sticky;top:0;z-index:6;background:var(--surface);border-bottom:1px solid var(--border)}.ag-head .hcell{padding:8px 6px;text-align:center;font-weight:650;font-size:13px;border-left:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-head .hcell .sub{font-weight:500;font-size:11.5px;color:var(--text-3)}.ag-body{display:grid;position:relative}.ag-times{position:relative;border-right:1px solid var(--border);background:var(--surface)}.ag-time{position:absolute;right:6px;font-size:11px;color:var(--text-3);transform:translateY(-7px)}.ag-col{position:relative;border-left:1px solid var(--border)}.ag-slot{position:absolute;left:0;right:0;border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent);cursor:pointer}.ag-slot.hour{border-top-color:var(--border)}.ag-slot.off{background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 6px,var(--surface-3) 6px,var(--surface-3) 7px);cursor:default}.ag-slot:not(.off):hover{background:color-mix(in srgb,var(--primary) 9%,transparent)}.ag-block{position:absolute;left:2px;right:2px;background:repeating-linear-gradient(45deg,#f1e3e3,#f1e3e3 6px,#f8eded 6px,#f8eded 12px);border:1px dashed #d79a9a;border-radius:6px;color:#8a3b3b;font-size:11.5px;padding:3px 6px;z-index:2;overflow:hidden}:root[data-theme=dark] .ag-block{background:repeating-linear-gradient(45deg,#3a2222,#3a2222 6px,#2e1c1c 6px,#2e1c1c 12px);color:#f0b7b7;border-color:#7a4040}.ag-appt{position:absolute;border-radius:6px;padding:3px 6px 3px 8px;font-size:12px;line-height:1.3;overflow:hidden;cursor:pointer;z-index:3;color:var(--text);background:color-mix(in srgb,var(--c) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 45%,transparent);border-left:4px solid var(--c);box-shadow:var(--shadow-sm)}.ag-appt:hover{z-index:5;box-shadow:var(--shadow)}.ag-appt .t{font-weight:700;font-size:11px;color:var(--text-2)}.ag-appt .n{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-appt .s{color:var(--text-3);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-appt.cancelled{opacity:.55;text-decoration:line-through}.ag-appt.dragging{opacity:.5}.ag-appt.overbook{background-image:repeating-linear-gradient(135deg,transparent,transparent 8px,color-mix(in srgb,var(--c) 12%,transparent) 8px,color-mix(in srgb,var(--c) 12%,transparent) 10px)}.ag-now{position:absolute;left:0;right:0;height:2px;background:#e5484d;z-index:4;pointer-events:none}.ag-now:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#e5484d}.ag-drop{background:color-mix(in srgb,var(--primary) 18%,transparent)!important}.mini-cal{width:238px;-webkit-user-select:none;user-select:none}.mini-cal .mh{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-weight:650;text-transform:capitalize}.mini-cal .grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:12px}.mini-cal .dow{color:var(--text-3);font-weight:650;padding:3px 0}.mini-cal .d{padding:5px 0;border-radius:6px;cursor:pointer}.mini-cal .d:hover{background:var(--surface-3)}.mini-cal .d.other{color:var(--text-3);opacity:.55}.mini-cal .d.today{font-weight:800;color:var(--primary)}.mini-cal .d.sel{background:var(--primary);color:#fff}.agenda-side{width:260px;flex:none;border-right:1px solid var(--border);background:var(--surface);padding:14px;overflow:auto}@media(max-width:1100px){.agenda-side{display:none}}.prof-check{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;font-size:13px}.prof-check .sw{width:12px;height:12px;border-radius:3px;flex:none}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:var(--surface);box-shadow:var(--shadow-lg);z-index:920;display:flex;flex-direction:column;animation:slide .16s ease-out;border-left:1px solid var(--border)}.drawer-h{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border)}.drawer-b{flex:1;overflow:auto;padding:16px}.drawer-f{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;flex-wrap:wrap}@keyframes slide{0%{transform:translate(30px);opacity:0}}.status-bar{display:flex;flex-wrap:wrap;gap:6px}.status-bar button{border:1px solid color-mix(in srgb,var(--c) 45%,var(--border));background:var(--surface);color:var(--text);border-radius:16px;padding:4px 10px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.status-bar button.on{background:var(--c);border-color:var(--c);color:#fff}.status-bar button:hover:not(.on){background:color-mix(in srgb,var(--c) 10%,var(--surface))}.kv{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:13.5px}.kv dt{color:var(--text-3)}.kv dd{margin:0;font-weight:550;min-width:0;overflow-wrap:anywhere}.p-head{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 20px 0}.p-head .top{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.p-head h1{font-size:21px}.p-head .meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--text-2);font-size:13px;margin-top:4px}.p-head .meta span{display:inline-flex;align-items:center;gap:4px}.p-alerts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.p-tabs{overflow-x:auto;margin-top:10px;border-bottom:0}.p-body{padding:18px 20px}.balance{font-weight:750}.balance.debt{color:var(--danger)}.balance.credit{color:var(--success)}.timeline{position:relative;padding-left:22px}.timeline:before{content:"";position:absolute;left:8px;top:4px;bottom:4px;width:2px;background:var(--border)}.tl-item{position:relative;margin-bottom:14px}.tl-item:before{content:"";position:absolute;left:-18px;top:14px;width:10px;height:10px;border-radius:50%;background:var(--c, var(--primary));border:2px solid var(--surface)}.enc-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.enc-card .h{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--border);flex-wrap:wrap}.enc-card .b{padding:12px 14px}.enc-card .addendum{margin:0 14px 12px;padding:8px 12px;border-left:3px solid var(--warning);background:color-mix(in srgb,var(--warning) 8%,var(--surface));border-radius:6px}.pre{white-space:pre-wrap;line-height:1.5}.form-sec{margin-bottom:18px}.form-sec>h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);font-size:11.5px;margin-bottom:10px;border-bottom:1px solid var(--border);padding-bottom:4px}.fgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:0 12px}.fgrid>.w-full{grid-column:span 6}.fgrid>.w-half{grid-column:span 3}.fgrid>.w-third{grid-column:span 2}@media(max-width:800px){.fgrid>.w-half,.fgrid>.w-third{grid-column:span 6}}.scale{display:flex;gap:4px;flex-wrap:wrap}.scale button{width:34px;height:30px;border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;cursor:pointer;font:inherit;font-weight:650}.scale button.on{background:var(--primary);color:#fff;border-color:var(--primary)}.opt-chips{display:flex;flex-wrap:wrap;gap:6px}.opt-chips label{border:1px solid var(--border-strong);border-radius:16px;padding:4px 11px;cursor:pointer;font-size:13px;display:inline-flex;gap:6px;align-items:center}.opt-chips label.on{background:color-mix(in srgb,var(--primary) 12%,var(--surface));border-color:var(--primary);color:var(--primary);font-weight:650}.opt-chips input{display:none}.vitals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.vitals-grid label{font-size:11.5px;color:var(--text-3);font-weight:600;display:block;margin-bottom:3px}.sig-pad{border:1px dashed var(--border-strong);border-radius:8px;background:#fff;touch-action:none;width:100%;height:170px;display:block;cursor:crosshair}.doc-body{border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--surface-2);max-height:360px;overflow:auto}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.gallery .g{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.gallery .g .th{height:110px;background:var(--surface-3);display:flex;align-items:center;justify-content:center;overflow:hidden}.gallery .g .th img{width:100%;height:100%;object-fit:cover}.gallery .g .c{padding:6px 8px;font-size:12px}.builder-sec{border:1px solid var(--border);border-radius:10px;margin-bottom:12px;background:var(--surface)}.builder-sec .h{display:flex;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:10px 10px 0 0}.builder-field{display:grid;grid-template-columns:1fr 150px 110px 90px auto;gap:8px;align-items:center;padding:6px 10px;border-bottom:1px dashed var(--border)}.builder-field:last-child{border-bottom:0}@media(max-width:900px){.builder-field{grid-template-columns:1fr 1fr}}.odonto{display:flex;flex-direction:column;gap:10px;align-items:center;overflow-x:auto;padding:8px}.odonto .row{gap:4px}.tooth{width:38px;text-align:center;cursor:pointer}.tooth svg{width:36px;height:36px}.tooth .num{font-size:11px;color:var(--text-3);font-weight:650}.tooth.sel svg{filter:drop-shadow(0 0 3px var(--primary))}.face-map{position:relative;max-width:360px;margin:auto}.face-map svg{width:100%;height:auto;cursor:crosshair}.face-pt{cursor:pointer}.seg{display:inline-flex;background:var(--surface-3);border-radius:8px;padding:2px}.seg button{border:0;background:none;padding:5px 11px;border-radius:6px;font:inherit;font-weight:600;color:var(--text-2);cursor:pointer;font-size:13px}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.money-pos{color:var(--success)}.money-neg{color:var(--danger)}.num{text-align:right;font-variant-numeric:tabular-nums}.table td.wrap{white-space:normal}.table tr.clickable{cursor:pointer}.table tfoot td{font-weight:700;background:var(--surface-2)}.settings{display:flex;height:100%;min-height:0}.settings-nav{width:236px;flex:none;border-right:1px solid var(--border);background:var(--surface);overflow:auto;padding:10px 8px}.settings-nav .grp{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:12px 10px 4px}.settings-nav a{display:block;padding:7px 10px;border-radius:7px;color:var(--text-2);font-weight:550;text-decoration:none;font-size:13.5px}.settings-nav a:hover{background:var(--surface-3)}.settings-nav a.on{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.settings-body{flex:1;overflow:auto;padding:20px 24px;min-width:0}.settings-body>h2{margin-bottom:4px}.settings-body .lead{color:var(--text-3);margin-bottom:16px}@media(max-width:900px){.settings{flex-direction:column}.settings-nav{width:auto;max-height:180px;border-right:0;border-bottom:1px solid var(--border)}}.copy-box{display:flex;gap:6px}.copy-box .input{font-family:ui-monospace,monospace;font-size:12.5px}.printable-row td{cursor:default}.empty-state{text-align:center;padding:48px 20px;color:var(--text-3)}.empty-state .icon{opacity:.45;margin-bottom:8px}.login-bg{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(900px 500px at 15% -10%,color-mix(in srgb,var(--primary) 60%,#000),transparent),#071c1a}.login-card{width:100%;max-width:400px;background:var(--surface);border-radius:14px;padding:30px;box-shadow:0 20px 60px #00000059}.login-card .brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;margin-bottom:18px;color:var(--primary)}
