:root{--accent:#d7192d;--accent2:#8f101e;--bg:#f4f6f9;--panel:#fff;--text:#19212b;--muted:#687485;--line:#dfe4eb;--green:#168451;--amber:#b77600;--blue:#176bb0;--red:#bd2231;--sidebar:#151b23;--shadow:0 7px 24px #18202b12}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}body.dark{--bg:#10141a;--panel:#191f27;--text:#e8edf3;--muted:#9ba7b5;--line:#303945;--sidebar:#0c0f14;--shadow:0 7px 24px #0005}button,input,select,textarea{font:inherit}button{color:inherit}#splash{position:fixed;inset:0;background:radial-gradient(circle at 50% 30%,#333b45,#13171d 70%);display:grid;place-content:center;justify-items:center;color:white;z-index:100}#splash img{width:330px;max-width:75vw}.loader{width:180px;height:3px;background:#ffffff20;margin:32px 0 12px;overflow:hidden}.loader:after{content:"";display:block;width:45%;height:100%;background:var(--accent);animation:load 1s infinite}@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(230%)}}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:var(--sidebar);color:#dfe7ef;z-index:20;display:flex;flex-direction:column}.brand{height:76px;display:flex;align-items:center;padding:13px 18px;border-bottom:1px solid #ffffff15}.brand img{width:45px;height:45px;object-fit:contain;margin-right:11px}.brand strong{font-size:20px;letter-spacing:2px}.brand span{display:block;font-size:11px;letter-spacing:5px;color:#ff5968}.nav-title{font-size:10px;color:#788697;padding:18px 18px 6px;letter-spacing:1px}.nav-item{width:calc(100% - 14px);margin:2px 7px;padding:10px 12px;border:0;background:transparent;color:#bec8d3;border-radius:9px;display:grid;grid-template-columns:24px 1fr auto;gap:8px;text-align:left;align-items:center;cursor:pointer}.nav-item:hover{background:#ffffff0c}.nav-item.active{background:linear-gradient(90deg,#d7192d33,#ffffff08);color:white;border-left:3px solid var(--accent)}.nav-item b{background:var(--accent);color:white;border-radius:12px;min-width:21px;text-align:center;padding:2px 5px;font-size:10px}.sidebar-footer{margin-top:auto;border-top:1px solid #ffffff12;padding:14px 18px;display:grid;gap:3px}.sidebar-footer span,.sidebar-footer small{font-size:10px;color:#84909d}.workspace{margin-left:245px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:66px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:10}.icon-btn{border:0;background:transparent;padding:8px;cursor:pointer;position:relative;font-size:18px}.dot{position:absolute;right:0;top:1px;background:var(--accent);color:white;border-radius:12px;padding:1px 5px;font-size:9px}.search{margin-left:12px;display:flex;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:0 12px;width:min(520px,42vw)}.search input{height:39px;border:0;background:transparent;outline:0;color:var(--text);width:100%;padding-left:8px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.user{display:flex;align-items:center;gap:8px;margin-left:8px}.user small{display:block;color:var(--muted)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#67101a);color:white;font-weight:700;flex:none}.avatar.large{width:52px;height:52px}.avatar.xlarge{width:72px;height:72px;font-size:22px}#content{padding:25px;flex:1}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:15px}.page-head h1{margin:0;font-size:28px}.page-head p{color:var(--muted);margin:5px 0 0}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:0;border-radius:9px;padding:10px 14px;cursor:pointer;font-weight:650}.btn.primary{background:var(--accent);color:white}.btn.secondary{background:var(--panel);border:1px solid var(--line)}.btn.success{background:#168451;color:white}.btn.danger-btn,.danger-btn{background:#fff0f1;color:#b21827;border:1px solid #ffcbd0}.btn.tiny{padding:6px 9px;font-size:11px;margin-top:8px}.link{border:0;background:transparent;color:var(--blue);cursor:pointer}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:13px}.kpi-grid.four{grid-template-columns:repeat(4,1fr)}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:17px;box-shadow:var(--shadow);text-align:left;position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;right:-20px;bottom:-30px;width:85px;height:85px;border-radius:50%;background:var(--accent);opacity:.06}.kpi .label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.7px}.kpi .value{font-size:29px;font-weight:760;margin:8px 0}.kpi .hint{font-size:11px;color:var(--green)}.grid-2{display:grid;grid-template-columns:1.45fr 1fr;gap:17px;margin-top:17px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);padding:17px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel h3{margin:0 0 14px}.service-row{width:100%;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:75px 1fr 115px 115px;align-items:center;gap:12px;padding:13px 4px;border-bottom:1px solid var(--line);text-align:left}.clickable{cursor:pointer}.clickable:hover{background:var(--bg)}.date-block{display:grid}.date-block span,.service-row small,.crew-row small,.application-row small{display:block;color:var(--muted);margin-top:3px}.badge{display:inline-flex;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:750;margin:1px}.badge.red{background:#ffe7e9;color:#b21827}.badge.green{background:#e2f8ec;color:#117442}.badge.blue{background:#e4f1ff;color:#1761a6}.badge.amber{background:#fff3d6;color:#9c6500}.progress{height:7px;background:var(--line);border-radius:8px;overflow:hidden}.progress.large{height:10px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#f25967)}.coverage small{text-align:right;display:block}.news{padding:12px;border-left:3px solid var(--accent);background:var(--bg);border-radius:0 9px 9px 0;margin:9px 0}.news p{margin:8px 0}.toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px;align-items:center}.filterbar select{padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text)}.search-small{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:0 10px;min-width:280px}.search-small input{border:0;background:transparent;color:var(--text);padding:10px;width:100%;outline:0}.table-panel{padding:5px 17px 17px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.table th{font-size:10px;text-transform:uppercase;color:var(--muted)}.icon-action{border:0;border-radius:8px;background:var(--bg);padding:6px 11px;cursor:pointer;font-size:18px}.empty{text-align:center;padding:38px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;color:var(--muted)}.field input,.field select,.field textarea,.inline-form select{border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--bg);color:var(--text)}.field textarea{min-height:85px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:8px}.modal{position:fixed;inset:0;background:#05070aaa;z-index:50;display:grid;place-items:center;padding:20px}.modal.hidden{display:none}.modal-card{position:relative;background:var(--panel);border-radius:15px;padding:24px;width:min(650px,96vw);max-height:92vh;overflow:auto;box-shadow:0 30px 70px #0007}.modal-card.wide{width:min(980px,96vw)}.close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:25px;color:var(--muted);cursor:pointer}#toast{position:fixed;right:20px;bottom:20px;z-index:70}.toast{background:#18211c;color:white;padding:13px 18px;border-radius:9px;box-shadow:var(--shadow)}footer{padding:12px 25px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;background:var(--panel)}.stats-strip,.ops-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stats-strip>div,.ops-summary>div{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:14px;display:flex;flex-direction:column}.stats-strip b,.ops-summary b{font-size:24px}.stats-strip span,.ops-summary span{color:var(--muted);font-size:11px}.ops-summary .danger b{color:var(--red)}.volunteer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.volunteer-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:14px;display:grid;grid-template-columns:55px 1fr auto;text-align:left;align-items:center;box-shadow:var(--shadow);cursor:pointer}.volunteer-card:hover{border-color:#d7192d88}.vol-info h3,.vol-info p{margin:2px 0}.vol-info p{color:var(--muted);font-size:12px}.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:13px}.vehicle-card{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:16px;box-shadow:var(--shadow);display:grid;grid-template-columns:50px 1fr auto;gap:10px}.vehicle-icon{font-size:34px}.vehicle-card h3,.vehicle-card p{margin:2px}.vehicle-card p{color:var(--muted)}.vehicle-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:12px;border-top:1px solid var(--line);font-size:11px}.vehicle-metrics span{background:var(--bg);padding:8px;border-radius:7px}.card-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px}.type-group{margin-top:18px}.type-head{display:flex;align-items:center;justify-content:space-between}.type-head h2{font-size:18px}.type-head span{color:var(--muted)}.service-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:12px}.service-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:15px;cursor:pointer;box-shadow:var(--shadow)}.service-card.incomplete{border-left:4px solid var(--accent)}.service-card h3{margin:12px 0 5px}.service-card p{color:var(--muted);margin:0 0 14px}.card-top,.card-foot{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:11px}.card-foot{margin-top:9px}.warning{color:var(--red)}.application-row{display:grid;grid-template-columns:45px 1fr 1.4fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.actions{display:flex;gap:7px}.audit-row,.availability-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.mt{margin-top:16px}.detail-head{display:flex;align-items:center;gap:14px;padding-right:25px}.detail-head h2,.detail-head p{margin:2px 0}.detail-actions{margin-left:auto;display:flex;gap:7px}.eyebrow{font-size:10px;color:var(--muted);letter-spacing:1px}.tabs{display:flex;gap:4px;margin:20px 0 15px;border-bottom:1px solid var(--line)}.tabs button{border:0;background:transparent;padding:9px;color:var(--muted)}.tabs button.active{color:var(--accent);border-bottom:2px solid var(--accent)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail-grid section{background:var(--bg);border-radius:10px;padding:14px}.detail-grid .full{grid-column:1/-1}.detail-grid h3{margin:0 0 10px}.detail-grid dl,.settings-grid dl{display:grid;grid-template-columns:120px 1fr;gap:7px;margin:0}.detail-grid dt,.settings-grid dt{color:var(--muted)}.detail-grid dd,.settings-grid dd{margin:0;font-weight:600}.service-status{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:17px 0}.service-status>div{background:var(--bg);padding:11px;border-radius:8px}.service-status small{display:block;color:var(--muted);margin-bottom:5px}.crew-row{display:grid;grid-template-columns:40px 1fr auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.inline-form{display:flex;gap:8px;margin-top:12px}.inline-form select{flex:1}.calendar{background:var(--panel);border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:var(--shadow)}.week-head,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.week-head b{padding:10px;text-align:center;background:var(--sidebar);color:white;font-size:11px}.day{min-height:125px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;overflow:hidden}.day.today{background:#d7192d0b}.day-number{font-weight:700}.empty-day{background:var(--bg)}.event{width:100%;border:0;border-left:3px solid var(--blue);border-radius:5px;background:#e4f1ff;color:#174e7c;padding:5px;margin-top:5px;text-align:left;font-size:10px;cursor:pointer;display:block}.event small{float:right}.type-suem{border-color:#d7192d;background:#ffe7e9;color:#8d1520}.type-assistenza-sanitaria{border-color:#176bb0}.type-trasporto-sanitario{border-color:#168451;background:#e2f8ec;color:#11653f}.bars{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:170px 1fr 40px;gap:12px;align-items:center}.bar-row>div{background:var(--line);height:12px;border-radius:8px;overflow:hidden}.bar-row i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#f45b68)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.module-placeholder{text-align:center;padding:65px}.module-placeholder .big{font-size:50px}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:1fr}.service-status{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.kpi-grid,.kpi-grid.four,.stats-strip,.ops-summary{grid-template-columns:repeat(2,1fr)}.user>div:last-child{display:none}.service-row{grid-template-columns:65px 1fr}.service-row>*:nth-child(n+3){display:none}.form-grid,.detail-grid,.settings-grid{grid-template-columns:1fr}.field.full,.detail-grid .full{grid-column:1}.topbar{padding:0 10px}#content{padding:15px}.page-head{flex-direction:column}.application-row{grid-template-columns:40px 1fr}.application-row>*:nth-child(3){grid-column:2}.application-row .actions{grid-column:1/-1}.vehicle-metrics{grid-template-columns:1fr}.day{min-height:90px;padding:3px}.event{font-size:8px}.event small{display:none}.week-head b{font-size:9px}.detail-head{align-items:flex-start;flex-wrap:wrap}.detail-actions{margin-left:0;width:100%}}

#volunteerSelect{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);min-width:220px}.role-board{display:grid;gap:10px;margin:12px 0 22px}.role-slot{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--bg)}.role-slot small,.role-slot span{display:block;color:var(--muted);margin-top:4px}.role-slot.eligible{border-left:4px solid var(--green)}.role-slot.blocked{border-left:4px solid var(--red);opacity:.88}.reason{max-width:320px;color:var(--red);font-size:12px;text-align:right}.role-mini{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.role-mini span{font-size:10px;padding:5px 8px;border-radius:15px;background:#e2f8ec;color:#117442}.role-mini .missing{background:#ffe7e9;color:#b21827}.mt{margin-top:16px}
.participation-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#fff7e8,#fff);border:1px solid #f0d59c;border-left:4px solid var(--amber);border-radius:12px;padding:15px;margin:14px 0 22px}.dark .participation-panel{background:#2a2419}.participation-panel h3,.participation-panel p{margin:0 0 6px}.participation-panel small{display:block;color:var(--muted);max-width:680px}.notice{background:#eaf4ff;border:1px solid #bfdcff;border-radius:10px;padding:13px;margin:12px 0}.notice p{margin:6px 0 0}.warning-box{background:#fff3d6;border-color:#f0d18d}.withdrawal-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 4px;border-bottom:1px solid var(--line)}.withdrawal-card h3,.withdrawal-card p{margin:3px 0}.withdrawal-card small{color:var(--muted)}.withdrawal-card.status-pending{border-left:4px solid var(--amber);padding-left:12px}.withdrawal-card.status-clarification_requested{border-left:4px solid var(--blue);padding-left:12px}.withdrawal-card.status-approved{border-left:4px solid var(--green);padding-left:12px}.withdrawal-card.status-rejected{border-left:4px solid var(--red);padding-left:12px}.decision-note{margin-top:8px;padding:8px;background:var(--bg);border-radius:7px;font-size:12px}.withdrawal-main{flex:1}@media(max-width:760px){.participation-panel,.withdrawal-card{align-items:stretch;flex-direction:column}.withdrawal-card .actions{flex-wrap:wrap}}

.user-button{border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.login-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#55141f 0,#17181d 38%,#0d0e11 100%);padding:24px}.login-card{width:min(460px,100%);background:#fff;color:#1b1d22;border-radius:24px;padding:34px;box-shadow:0 30px 90px #0009}.login-card img{display:block;width:min(290px,90%);margin:0 auto 24px}.login-card h1{margin:8px 0}.login-card .btn{width:100%;margin-top:8px}.demo-credentials{display:grid;gap:4px;margin-top:24px;padding:14px;border-radius:12px;background:#f4f5f7}.demo-credentials small{font-family:ui-monospace,monospace}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full-panel{grid-column:1/-1}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.backup-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.backup-row small{display:block;margin-top:3px;color:var(--muted)}.version-card{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--soft)}.version-card b{font-size:1.25rem}.btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:850px){.settings-grid{grid-template-columns:1fr}.full-panel{grid-column:auto}.login-card{padding:24px}}

/* v0.9.8 Planner, Bacheca, Fascicolo */
.mandatory-banner{width:100%;border:0;background:#fff0f2;color:#a30f20;padding:11px 22px;text-align:left;font-weight:800;border-bottom:1px solid #ffc4cb;cursor:pointer}.dark .mandatory-banner{background:#38171c;color:#ffabb4}.nav-count{margin-left:auto;background:var(--red);color:#fff;border-radius:20px;padding:2px 7px;font-size:10px}.planner-tools{display:flex;align-items:end;gap:14px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);padding:13px;border-radius:13px;margin-bottom:14px}.planner-tools label{display:grid;gap:5px;color:var(--muted);font-size:11px}.planner-tools select{min-width:190px}.check{display:flex!important;align-items:center!important;gap:7px!important}.check input{width:auto}.legend{margin-left:auto;display:flex;flex-wrap:wrap;gap:5px}.type-chip{border:0;border-radius:8px;padding:6px 10px;background:#edf1f6;color:#344153;font-weight:700;font-size:11px}.type-suem{background:#087cf0;color:#fff}.type-idrosuem{background:#ffd8e8;color:#ae205e}.type-assistenza-sanitaria{background:#dff2ff;color:#12648e}.type-trasporto-sanitario{background:#e0f8e9;color:#167342}.type-sociale{background:#f0e3ff;color:#7442a0}.planner-list{display:grid;gap:2px}.planner-day{display:grid;grid-template-columns:140px 1fr;border-bottom:2px solid var(--line);padding:10px 0 16px}.planner-day>aside{padding:8px 12px}.planner-day>aside>b{display:block;font-size:29px}.planner-day>aside>span{font-size:16px;font-weight:700;text-transform:capitalize}.day-types{display:grid;gap:5px;margin-top:12px}.planner-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:9px}.planner-card{background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:15px;padding:14px;box-shadow:var(--shadow)}.type-border-suem{border-top-color:#087cf0}.type-border-idrosuem{border-top-color:#e73b81}.type-border-assistenza-sanitaria{border-top-color:#21a6e5}.type-border-trasporto-sanitario{border-top-color:#1fa968}.type-border-sociale{border-top-color:#8a55c2}.planner-card-head{display:flex;justify-content:space-between;gap:10px}.planner-card h3{margin:4px 0;font-size:17px}.planner-card p{margin:4px 0;color:var(--muted)}.coverage-ring{--p:0;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--p)*1%),var(--line) 0);position:relative;flex:0 0 auto}.coverage-ring:after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--panel)}.coverage-ring b{z-index:1;font-size:11px}.service-description{background:var(--bg);border-radius:9px;padding:10px;margin:11px 0;font-size:12px;min-height:48px}.crew-slots{display:grid;gap:4px}.crew-slot{display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid var(--line);padding:7px 5px}.crew-slot b{display:block}.crew-slot small,.crew-slot span{display:block;color:var(--muted);font-size:10px}.slot-plus{width:34px;height:30px;border:0;border-radius:8px;background:#dff7e8;color:#087a3f;font-size:22px;cursor:pointer}.slot-plus.disabled{background:var(--bg);color:#aaa;cursor:not-allowed}.slot-ok{color:var(--green);font-size:20px}.compatible-note,.blocked-note{margin-top:10px;padding:8px;border-radius:8px;font-size:11px;font-weight:700}.compatible-note{background:#e3f8eb;color:#117341}.blocked-note{background:#f1f2f4;color:#777}.eligibility-checks{display:grid;gap:8px;background:var(--bg);border-radius:12px;padding:15px;margin:16px 0}.error-list{color:var(--red);font-weight:700}.counter-pill{background:#fff0f2;color:var(--red);padding:8px 12px;border-radius:20px;font-weight:700}.news-filters{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:12px}.news-filters button{border:0;background:none;padding:11px;color:var(--muted);font-weight:700}.news-filters button.active{color:var(--blue);border-bottom:3px solid var(--blue)}.news-list{display:grid;gap:12px}.news-card{display:grid;grid-template-columns:42px 1fr;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow)}.news-card.mandatory-unread{border-color:#ff91a0;background:#fff9fa}.dark .news-card.mandatory-unread{background:#30171b}.news-icon{width:34px;height:34px;border-radius:50%;background:#dff1ff;color:#0870c7;display:grid;place-items:center;font-weight:900}.mandatory-unread .news-icon{background:#ffe2e6;color:#c51d31}.news-main h2{margin:6px 0}.news-main p{line-height:1.5}.must-read{background:#ffe4e8;color:#b00f25;padding:7px 10px;border-radius:8px;font-weight:800;margin-bottom:8px}.news-actions{display:flex;align-items:center;gap:9px;margin-top:10px}.read-ok{color:var(--green);font-weight:800}.dashboard-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:15px}.panel-title{display:flex;align-items:center;justify-content:space-between}.dash-list-row{width:100%;border:0;background:transparent;border-bottom:1px solid var(--line);padding:9px;text-align:left;display:flex;justify-content:space-between;align-items:center;color:var(--text);cursor:pointer}.dash-list-row span{display:grid}.dash-list-row small{color:var(--muted);margin-top:3px}.simple-table{width:100%;border-collapse:collapse}.simple-table th,.simple-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.mini-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mini-kpis div{background:var(--bg);border-radius:10px;padding:15px;display:grid}.mini-kpis b{font-size:24px}.mini-kpis span{color:var(--muted);font-size:11px}.danger-text{color:var(--red)}.profile-hero{display:grid;grid-template-columns:auto 1fr 1fr 1.5fr;gap:26px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.profile-avatar{width:86px;height:86px;font-size:25px}.profile-hero h2,.profile-hero p{margin:4px 0}.profile-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profile-kpis div{background:var(--bg);padding:12px;border-radius:10px;display:grid}.profile-kpis b{font-size:21px}.profile-kpis span{font-size:10px;color:var(--muted)}.profile-tabs{display:flex;gap:6px;margin:14px 0;border-bottom:1px solid var(--line);overflow:auto}.profile-tabs button{white-space:nowrap;border:0;background:none;padding:11px;color:var(--muted);font-weight:700}.profile-tabs button.active{color:var(--blue);border-bottom:3px solid var(--blue)}.capability-box{margin-top:18px;background:#edf7ff;border:1px solid #b8dcfa;border-radius:12px;padding:14px}.dark .capability-box{background:#132735}.capability-box h3,.capability-box p{margin:5px 0}
@media(max-width:900px){.planner-day{grid-template-columns:1fr}.planner-services{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.profile-hero{grid-template-columns:auto 1fr}.profile-kpis{grid-column:1/-1}.legend{margin-left:0}.planner-day>aside{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.day-types{display:flex;margin:0}}

/* v0.9.9 Demo Enterprise */
.dataset-pill{margin-left:auto;background:#e7f4ff;color:#0e63a4;border:1px solid #bfdef5;border-radius:20px;padding:8px 12px;font-weight:800}.card-actions{margin-top:10px;display:flex;justify-content:flex-end}.suggestion-list{display:grid;gap:7px;margin-top:14px}.suggestion{display:grid;grid-template-columns:1fr 60px auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px}.suggestion small{display:block;color:var(--muted);margin-top:3px}.score{font-size:18px;font-weight:850;color:var(--green)}.table td small{display:block;color:var(--muted);margin-top:3px;white-space:normal}.volunteer-card small{display:block;color:var(--muted);margin-top:7px}.planner-tools input{padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text)}
