:root{--background:#f3f6f5;--surface:#fff;--surface-hover:#f1f5f4;--foreground:#16232a;--muted:#586a70;--border:#dce5e2;--brand:#d92d2d;--brand-soft:#fdf0ef;--green:#1f9d55;--blue:#2a6fdb;--yellow:#c99a02;--orange:#e07a2f;--red:#d03b3b;--shadow:0 8px 28px rgba(15,42,48,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--foreground);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #eb9696;outline-offset:3px}.shell{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.site-header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;box-shadow:0 2px 18px rgba(15,42,48,.035)}.header-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--brand);color:#fff;font-weight:800;font-size:15px;box-shadow:0 4px 12px #d92d2d35}.brand strong,.brand small{display:block}.brand strong{font-size:15px;line-height:1.3}.brand small{color:var(--muted);font-size:11px}.preview-pill,.tag{border:1px solid #f2cbca;background:var(--brand-soft);color:#ad2525;padding:5px 10px;border-radius:100px;font-size:11px;font-weight:700;white-space:nowrap}.navigation{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin}.navigation a{white-space:nowrap;color:var(--muted);font-size:12px;font-weight:650;padding:11px 12px 13px;border-bottom:3px solid transparent}.navigation a:hover,.navigation a.active{color:var(--brand);border-bottom-color:var(--brand)}
.notice{margin-top:23px;background:#fff9e9;border:1px solid #eddcae;border-left:4px solid #d99814;border-radius:12px;padding:12px 16px;color:#604b16;font-size:13px}.main-content{min-height:calc(100vh - 275px);padding-block:28px 58px}.view{display:flex;flex-direction:column;gap:22px;animation:fade-in .16s ease}.view[hidden],[hidden]{display:none!important}@keyframes fade-in{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--brand);font-weight:800}.page-heading h1{font-size:clamp(25px,3vw,32px);line-height:1.15;margin:5px 0 6px;letter-spacing:-.025em}.page-heading p{margin:0;color:var(--muted);font-size:14px}.page-heading{padding-block:5px 3px}h1,h2,h3,p{overflow-wrap:anywhere}h2{font-size:17px;line-height:1.3;margin:0}h3{font-size:17px;line-height:1.4;margin:0}.muted{color:var(--muted);font-size:13px;margin:5px 0 0}.hero{background:linear-gradient(116deg,#fff 15%,#fff5f3 100%);border:1px solid var(--border);border-radius:24px;padding:45px clamp(24px,5vw,52px);box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"PS";position:absolute;right:-10px;top:-66px;font-size:270px;font-weight:900;color:#f9dcd8;opacity:.4;line-height:1;pointer-events:none}.hero>*{position:relative;z-index:1}.hero h1{font-size:clamp(34px,5vw,52px);letter-spacing:-.04em;line-height:1.1;margin:7px 0 13px}.hero p{color:var(--muted);max-width:540px;margin:0;font-size:15px}.hero-label{display:inline-flex;margin-top:25px;color:#9b3030;background:#fde9e8;border-radius:100px;padding:7px 13px;font-size:11px;font-weight:700}.section-top,.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-top{margin-top:12px}.section-top p{font-size:13px;color:var(--muted);margin:3px 0 0}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.module-card{background:var(--surface);padding:24px;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);transition:transform .15s,border-color .15s,box-shadow .15s;min-height:180px;display:flex;flex-direction:column;align-items:flex-start}.module-card:hover{transform:translateY(-3px);border-color:#e8aaa7;box-shadow:0 12px 26px rgba(88,34,32,.09)}.module-icon{width:34px;height:34px;background:var(--brand-soft);color:var(--brand);border-radius:10px;display:grid;place-items:center;font-size:11px;font-weight:800;margin-bottom:14px}.module-card p{color:var(--muted);font-size:13px;margin:7px 0 20px}.card-link{color:var(--brand);font-size:12px;font-weight:700;margin-top:auto}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:23px;box-shadow:var(--shadow)}.panel>h2{margin-bottom:16px}.form-panel{display:flex;flex-direction:column;gap:22px}.form-panel h2{margin:0}.form-panel fieldset{border:0;border-top:1px solid var(--border);padding:19px 0 0;margin:0;min-width:0}.form-panel fieldset:first-of-type{border-top:0;padding-top:0}.form-panel legend{font-size:11px;font-weight:800;color:var(--brand);text-transform:uppercase;letter-spacing:.07em;padding:0 0 11px}.form-panel fieldset:disabled{opacity:.75}.form-panel fieldset:disabled legend{opacity:1}.field-grid{display:grid;gap:14px;margin-top:10px}.field-grid:first-child{margin-top:0}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.wide{grid-column:1/-1}.form-panel label,.standalone-label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:12px;font-weight:650;min-width:0}.form-panel input:not([type=checkbox]),.form-panel select,.search-row input{width:100%;border:1px solid #d4deda;border-radius:9px;background:var(--surface);color:var(--foreground);padding:10px 11px;min-height:43px;font-size:13px;font-weight:450}.form-panel input[readonly]{background:var(--surface-hover)}.form-panel input::placeholder,.search-row input::placeholder{color:#9ba9a9}.check-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:8px}.check-grid label{flex-direction:row;align-items:center;color:var(--foreground);border:1px solid var(--border);border-radius:9px;padding:9px;cursor:pointer;min-height:41px;font-size:12px}.check-grid input{accent-color:var(--brand);margin:0 4px 0 0}.check-grid.permissions{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:19px}.optional{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted)}.standalone-label{margin-top:15px}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.button{border:1px solid transparent;padding:10px 19px;border-radius:100px;font-weight:700;font-size:13px;min-height:40px;white-space:nowrap}.button.primary{color:white;background:var(--brand)}.button.primary:hover:not(:disabled){background:#b92525}.button.secondary{background:var(--surface);border-color:var(--border);color:var(--brand)}.button.secondary:hover:not(:disabled){background:var(--brand-soft)}.button.small{min-height:34px;padding:6px 13px;font-size:11px}.button.full{width:100%}.form-message{min-height:0;color:var(--muted);font-size:13px;margin:0}.form-message:empty{display:none}.form-message.error{color:#b12525}.form-message.success{color:#157b3c}.tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tab{border:1px solid var(--border);background:var(--surface);color:var(--foreground);border-radius:100px;padding:8px 14px;font-size:12px;font-weight:700;white-space:nowrap}.tab:hover,.tab.active{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:13px;background:var(--surface)}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{background:var(--surface-hover);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}td,th{padding:11px 13px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:0}td{white-space:nowrap}.empty{text-align:center;color:var(--muted);padding:26px!important;white-space:normal}td button{background:none;border:0;color:var(--brand);font-weight:700;padding:5px}.danger-link{color:#b12525}td button:hover{text-decoration:underline}.status{display:inline-block;border-radius:100px;padding:3px 9px;font-size:11px;font-weight:750;background:#e8f6ee;color:#177d3d}.status.off{background:#faece9;color:#a3342b}.sector-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.search-row{display:flex;gap:10px;margin:10px 0;max-width:620px}.search-row input{flex:1;min-width:0;border-radius:100px;padding-inline:16px}.patient-mini{background:var(--surface-hover);border-radius:12px;padding:15px;margin-bottom:15px;font-size:13px}.patient-mini strong{display:block}.patient-mini span{color:var(--muted)}.badge-group{display:flex;gap:7px;align-items:center}.discipline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:12px}.discipline-grid button{border:2px solid var(--border);background:var(--surface);border-radius:17px;min-height:138px;font-size:19px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--foreground);box-shadow:var(--shadow)}.discipline-grid button:hover{border-color:var(--brand);color:var(--brand)}.compact{max-width:700px}.session-banner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;background:var(--brand-soft);border-radius:12px;padding:13px 16px;font-size:13px}.session-banner button{border:0;background:none;color:var(--brand);font-weight:700;text-decoration:underline}.patient-card .panel-title-row{align-items:flex-start}.patient-card .button{margin:12px 0 20px}.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;border-top:1px solid var(--border);padding-top:16px}.info-item small{display:block;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.info-item span{font-size:13px}.diag-area{border-top:1px solid var(--border);margin-top:16px;padding-top:14px;font-size:12px}.diag-area strong{margin-right:8px}.diag-tag{display:inline-block;background:var(--brand-soft);color:var(--brand);padding:3px 8px;border-radius:100px;margin:3px;font-weight:700}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stat-card{border:1px solid var(--border);border-left:4px solid var(--accent,var(--brand));border-radius:14px;background:var(--surface);padding:17px;display:flex;flex-direction:column;gap:4px}.stat-card .caption{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:750}.stat-card strong{font-size:31px;line-height:1.1}.stat-card small{color:var(--muted);font-size:11px}.proportion-track{display:flex;height:28px;border-radius:100px;overflow:hidden;background:var(--surface-hover);margin:16px 0}.proportion-track span{min-width:0}.proportion-key{display:flex;flex-wrap:wrap;gap:12px}.proportion-key span{font-size:12px;color:var(--muted)}.proportion-key i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.month-bars{display:grid;gap:10px;margin:17px 0}.month-row{display:grid;grid-template-columns:70px 1fr 35px;align-items:center;gap:10px;font-size:12px}.bar-track{background:var(--surface-hover);height:13px;border-radius:100px;overflow:hidden;display:flex}.bar-track span{display:block;height:100%}.callout{background:#eef5fa;border:1px solid #ccdeec;border-left:4px solid #2a6fdb;border-radius:12px;padding:14px 17px;color:#2a4e66;font-size:13px}.rem-panel{margin-top:0}.rem-panel .table-wrap{margin-top:13px}.rem-note{font-size:12px;color:var(--muted);margin:6px 0}.rem-panel .muted-cell{background:var(--surface-hover);color:#859397;text-align:center}.login-layout{width:min(440px,100%);margin:15px auto 60px;display:grid;gap:18px}.centered{text-align:center}.login-layout fieldset{display:grid;gap:15px}.footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--muted);border-top:1px solid var(--border);font-size:11px;padding:20px 0 30px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:900px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.shell{width:min(100% - 28px,1160px)}.site-header{position:static}.header-inner{min-height:72px}.brand small{font-size:10px}.preview-pill{font-size:10px}.navigation a{font-size:11px;padding:9px 10px}.notice{margin-top:13px;font-size:12px}.main-content{padding-top:24px}.hero{padding:34px 23px}.hero:after{font-size:160px;top:-15px;right:-25px}.module-grid,.discipline-grid{grid-template-columns:1fr}.module-card{min-height:150px;padding:19px}.discipline-grid button{min-height:85px;font-size:16px}.field-grid.two,.field-grid.three,.field-grid.four{grid-template-columns:1fr}.check-grid,.check-grid.permissions{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{gap:9px}.stat-card{padding:13px}.stat-card strong{font-size:25px}.panel{padding:16px}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-title-row.responsive-row{align-items:flex-start;flex-direction:column}.search-row{max-width:100%}.search-row .button{padding-inline:13px}.footer{padding-bottom:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.view{animation:none}.module-card{transition:none}}
