:root{--ink:#142238;--muted:#65748a;--line:#dce4ed;--bg:#f3f6f9;--card:#fff;--primary:#078578;--primary-dark:#05675e;--primary-soft:#e7f6f3;--blue:#2f6fed;--blue-soft:#eaf0ff;--warning:#a76300;--warning-soft:#fff3dc;--danger:#ad2b3b;--danger-soft:#ffeaed;--shadow:0 16px 45px rgba(22,40,64,.08);--radius:22px}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100vh}a{color:var(--primary-dark);text-decoration:none}button,.btn{border:0;border-radius:12px;background:var(--primary);color:#fff;font:inherit;font-weight:750;padding:.82rem 1.1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}button:hover,.btn:hover{background:var(--primary-dark)}button.secondary,.btn.secondary{background:#eef3f7;color:var(--ink)}button.warning{background:var(--warning)}button.danger{background:var(--danger)}.demo-bar{background:#15243a;color:#fff;text-align:center;font-size:.72rem;font-weight:850;letter-spacing:.13em;padding:.42rem}.app-header{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,24px);position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:.7rem;color:var(--ink)}.brand>span,.login-mark{width:46px;height:46px;border-radius:15px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.05rem}.brand b{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header nav{display:flex;align-items:center;gap:1rem}.app-header nav>a{color:var(--ink);font-size:.92rem;font-weight:650}.nav-user{border-left:1px solid var(--line);padding-left:1rem;font-size:.86rem;font-weight:750;display:flex;flex-direction:column}.nav-user small{font-size:.7rem;color:var(--muted);font-weight:600}.pwa-install{padding:.55rem .75rem;font-size:.82rem;background:var(--blue)}.menu-toggle{display:none;width:44px;height:44px;padding:11px;background:#eef3f7;flex-direction:column;gap:5px}.menu-toggle i{height:2px;width:22px;background:var(--ink);display:block}.container{width:min(1180px,calc(100% - 36px));margin:34px auto 70px;min-height:calc(100vh - 190px)}footer{text-align:center;color:var(--muted);font-size:.8rem;padding:28px}.hero{background:linear-gradient(135deg,#073e48,#087f73 58%,#1aa18d);border-radius:28px;color:#fff;padding:36px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);margin-bottom:24px}.hero h1{font-size:clamp(1.8rem,4vw,3rem);margin:.25rem 0}.hero p{margin:0;max-width:680px;color:#dcefeb;font-size:1.05rem}.hero .btn{background:#fff;color:var(--primary-dark)}h1,h2,h3,p{overflow-wrap:anywhere}h1{letter-spacing:-.04em}h2{letter-spacing:-.025em}.eyebrow{font-size:.7rem;font-weight:850;letter-spacing:.13em;color:var(--primary);display:block;margin-bottom:.35rem}.hero .eyebrow{color:#9ee8dd}.grid{display:grid;gap:18px}.stats{grid-template-columns:repeat(4,1fr);margin-bottom:24px}.stat,.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat{padding:24px}.stat b{display:block;font-size:2rem}.stat span{color:var(--muted);font-size:.9rem}.panel{padding:26px;margin-bottom:22px}.panel.narrow{max-width:820px;margin-left:auto;margin-right:auto}.section-title{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:20px}.section-title h1,.section-title h2{margin:.1rem 0}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:20px;color:var(--ink);display:flex;align-items:center;gap:14px;transition:.18s ease}.card:hover{transform:translateY(-2px);border-color:#a8c9c4}.card>div{display:flex;flex-direction:column;gap:.35rem;min-width:0}.card small,.list-row small,.guardian-card small{color:var(--muted);display:block}.card .badge{margin-left:auto}.avatar{width:48px;height:48px;border-radius:16px;background:var(--primary-soft);color:var(--primary-dark);display:grid;place-items:center;font-weight:900;flex:0 0 auto}.avatar.big{width:72px;height:72px;border-radius:22px;font-size:1.25rem}.patient-head{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;align-items:center;gap:18px;margin-bottom:22px}.patient-head h1{margin:.15rem 0}.patient-head p{margin:0;color:var(--muted)}.patient-head>.badge{margin-left:auto}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .65rem;font-size:.7rem;font-weight:850;white-space:nowrap;background:#eef2f5;color:#536174}.badge.ok{background:var(--primary-soft);color:var(--primary-dark)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.neutral{background:#edf1f5;color:#566579}.list-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:15px 2px;border-top:1px solid var(--line);color:var(--ink)}.list-row:first-of-type{border-top:0}.list-row>div{min-width:0}.list-row b{display:block}.table-wrap{overflow-x:auto;padding:0}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line);font-size:.9rem}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f8fafb}td small{display:block;color:var(--muted);margin-top:.2rem}.filter-row,.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:18px}.filter-row a{padding:.55rem .8rem;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.8rem}.filter-row a.active{background:var(--primary);color:#fff;border-color:var(--primary)}form label{display:flex;flex-direction:column;gap:.45rem;font-weight:720;font-size:.88rem}input,select,textarea{width:100%;border:1px solid #cbd7e3;border-radius:11px;padding:.82rem .9rem;background:#fff;color:var(--ink);font:inherit}textarea{resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{outline:3px solid rgba(8,133,120,.14);border-color:var(--primary)}label small{font-weight:500;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid .full,.full{grid-column:1/-1}.form-section h2{margin-top:0}.actions,.sticky-actions{display:flex;justify-content:flex-end;align-items:center;gap:.8rem}.sticky-actions{position:sticky;bottom:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:13px 16px;z-index:15}.check{flex-direction:row!important;align-items:center}.check input{width:auto}.drop-zone{border:2px dashed #a8c5c0;background:var(--primary-soft);border-radius:16px;min-height:115px;display:grid!important;place-items:center;text-align:center;color:var(--primary-dark);padding:20px}.drop-zone input{background:transparent;border:0;width:auto}.alert{border-radius:14px;padding:14px 18px;margin-bottom:18px}.alert.success{background:var(--primary-soft);color:var(--primary-dark)}.alert.error{background:var(--danger-soft);color:var(--danger)}.alert.warning{background:var(--warning-soft);color:var(--warning)}.empty-state{padding:28px;text-align:center;border:1px dashed #cbd6df;border-radius:15px;color:var(--muted);grid-column:1/-1}.back-link{display:inline-block;margin-bottom:18px}.detail-grid,.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.data-list{display:grid;grid-template-columns:150px 1fr;gap:.8rem 1rem}.data-list dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.data-list dd{margin:0}.guardian-card{border:1px solid var(--line);border-radius:13px;padding:13px;margin-bottom:10px}.guardian-card span{font-size:.82rem;color:var(--muted);display:block;margin-top:.25rem}.note-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.note-columns>div{background:#f8fafb;border:1px solid var(--line);border-radius:15px;padding:16px}.note-columns h3{margin-top:0;font-size:1rem}.note-columns p{color:#46576b;line-height:1.6}.note-columns .reception-note{background:#fff8ea}.file-list{display:flex;gap:10px;flex-wrap:wrap}.file-chip{display:flex;align-items:center;gap:.55rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:12px;background:#f8fafb;max-width:330px}.file-chip>span{font-size:1.1rem}.file-chip b{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-chip small{font-size:.65rem;color:var(--muted)}.message{border-left:4px solid var(--blue);background:var(--blue-soft);padding:15px 17px;border-radius:0 14px 14px 0;margin:12px 0}.message.response{border-color:var(--primary);background:var(--primary-soft)}.message small{color:var(--muted);display:block}.message p{margin-bottom:0}.decision-card{border:1px solid #b6d9d3;background:var(--primary-soft);border-radius:var(--radius);padding:25px;display:grid;grid-template-columns:1fr 1.4fr;gap:26px;align-items:start;margin-bottom:22px}.decision-card.director{border-color:#b8c9f1;background:var(--blue-soft)}.decision-card h2{margin:.2rem 0}.decision-form,.inline-form{display:flex;flex-direction:column;gap:12px}.choice-list{display:grid;gap:10px;margin:15px 0}.choice{border:1px solid var(--line);padding:13px;border-radius:13px;display:flex!important;align-items:center;flex-direction:row!important;gap:12px;background:#fff}.choice input{width:auto}.choice span{display:flex;flex-direction:column}.choice small{color:var(--muted)}fieldset{border:1px solid var(--line);border-radius:14px;padding:15px}legend{font-weight:800}.progress{height:10px;background:#e8edf2;border-radius:999px;overflow:hidden;margin-bottom:24px}.progress span{height:100%;display:block;background:linear-gradient(90deg,var(--primary),#39bca8);border-radius:999px}.progress-number{font-size:1.8rem;color:var(--primary)}.case-timeline{display:grid;gap:10px}.timeline-stage{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:13px;color:var(--ink);background:#fff}.timeline-stage.active{border-color:#6fbeb2;background:var(--primary-soft)}.timeline-stage.completed{opacity:.78}.timeline-stage.canceled{opacity:.55}.stage-index,.stage-number{width:42px;height:42px;border-radius:13px;background:#eaf0f4;color:#4d5c6f;display:grid;place-items:center;font-weight:900}.timeline-stage.active .stage-index{background:var(--primary);color:#fff}.timeline-stage small{display:block;color:var(--muted);margin-top:.2rem}.privacy-note{color:var(--muted);font-size:.82rem;margin-bottom:0}.stage-hero{background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:grid;grid-template-columns:70px 1fr auto;gap:20px;align-items:center;padding:25px;margin-bottom:22px}.stage-number.big{width:64px;height:64px;border-radius:20px;background:var(--primary);color:#fff;font-size:1.25rem}.stage-hero h1{margin:.15rem 0}.stage-hero p{margin:0;color:var(--muted)}.stage-hero.therapy .stage-number{background:var(--blue)}.entry{border-top:1px solid var(--line);padding:20px 0}.entry:first-of-type{border-top:0}.entry-head{display:flex;justify-content:space-between;gap:16px}.entry h3{margin:.35rem 0}.entry small{color:var(--muted)}.entry p,.published-item p{line-height:1.65;color:#405166}.therapy-card{align-items:flex-start}.therapy-card .badge{margin-left:auto}.published-item{border-left:3px solid var(--primary);padding:8px 16px;margin:15px 0}.published-item b,.published-item small{display:block}.published-item small{color:var(--muted);margin-top:.25rem}.add-box{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.add-box summary{cursor:pointer;color:var(--primary-dark);font-weight:800}.add-box form{display:grid;gap:13px;margin-top:15px}.login-shell{min-height:calc(100vh - 190px);display:grid;place-items:center}.login-card{width:min(520px,100%);background:#fff;border-radius:32px;padding:42px;box-shadow:var(--shadow);border:1px solid var(--line)}.login-card h1{font-size:2.45rem;margin:.45rem 0}.login-card>p{color:var(--muted);font-size:1.05rem;line-height:1.55}.login-card form{display:grid;gap:16px;margin:24px 0}.login-card button{width:100%;font-size:1.05rem}.login-card details{color:var(--muted);line-height:1.8}.pwa-modal{position:fixed;inset:0;background:rgba(9,22,38,.62);z-index:100;display:grid;place-items:center;padding:20px}.pwa-modal[hidden]{display:none}.pwa-modal-card{width:min(480px,100%);background:#fff;border-radius:24px;padding:28px;position:relative;box-shadow:0 25px 80px rgba(0,0,0,.25)}.pwa-modal-close{position:absolute;right:14px;top:14px;border-radius:50%;width:36px;height:36px;padding:0;background:#edf2f6;color:var(--ink)}.modal-open{overflow:hidden}@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}.cards.compact{grid-template-columns:repeat(2,1fr)}.note-columns{grid-template-columns:1fr}.decision-card{grid-template-columns:1fr}.app-header{height:68px}.menu-toggle{display:flex}.app-header nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:18px max(4vw,24px);align-items:stretch;flex-direction:column}.menu-open .app-header nav{display:flex}.nav-user{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.pwa-install{width:100%}}@media(max-width:680px){.container{width:min(100% - 22px,1180px);margin-top:18px}.hero{padding:25px;align-items:flex-start;flex-direction:column;gap:20px;border-radius:22px}.stats,.cards,.cards.compact,.detail-grid,.config-grid,.form-grid{grid-template-columns:1fr}.panel{padding:19px}.login-card{padding:27px;border-radius:24px}.login-card h1{font-size:2rem}.patient-head{align-items:flex-start;flex-wrap:wrap}.patient-head>.badge{margin-left:0}.stage-hero{grid-template-columns:55px 1fr}.stage-hero>.badge{grid-column:2}.stage-number.big{width:52px;height:52px;border-radius:16px}.timeline-stage{grid-template-columns:38px 1fr}.timeline-stage>.badge{grid-column:2}.data-list{grid-template-columns:1fr;gap:.2rem}.data-list dd{margin-bottom:.75rem}.section-title{align-items:flex-start}.sticky-actions{justify-content:space-between}.sticky-actions button{flex:1}.actions{flex-wrap:wrap}.brand b{max-width:170px}.file-chip{max-width:100%}}
