:root{color:#111827;-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 10% 0,#dbeafeb8,#0000 34%),radial-gradient(circle at 90% 8%,#e0f2fead,#0000 30%),linear-gradient(#f8fafc 0%,#eef2f7 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}button{font:inherit;color:#0f172a;cursor:pointer;-webkit-backdrop-filter:blur(18px)saturate(1.12);backdrop-filter:blur(18px)saturate(1.12);background:#cbd5e18a;border:1px solid #64748b66;border-radius:999px;margin:2px;padding:10px 17px;font-weight:750;box-shadow:0 10px 24px #0f172a1a,inset 0 1px #ffffff9e}button:hover{background:#b4becda8}button.secondary{background:#e2e8f085}button.danger{color:#7f1d1d;background:#fecacab8;border-color:#ef44446b}.login-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:#ffffffb8;border:1px solid #ffffffd1;border-radius:34px;width:min(460px,100%);padding:38px;box-shadow:0 30px 90px #0f172a24}.app-shell{grid-template-columns:292px 1fr;min-height:100vh;display:grid}.sidebar{color:#0f172a;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);background:#ffffff94;border-right:1px solid #94a3b833;height:100vh;padding:24px;position:sticky;top:0;overflow:auto;box-shadow:18px 0 40px #0f172a0a}.brand{align-items:center;gap:12px;margin-bottom:30px;display:flex}.brand span{color:#64748b;margin-top:2px;font-size:13px;display:block}.brand-logo-mark{object-fit:contain;filter:drop-shadow(0 14px 24px #2563eb33);border-radius:15px;width:46px;height:46px}.brand-logo-mark.large{border-radius:22px;width:76px;height:76px;margin-bottom:14px}nav{gap:8px;display:grid}.nav{text-align:left;color:#475569;width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:1px solid #0000;border-radius:17px;padding:12px 14px;font-weight:720}.nav:hover{background:#e2e8f08a}.nav.active{color:#0f172a;background:#cbd5e1b8;border-color:#64748b47;box-shadow:0 12px 24px #0f172a1a}.content{padding:30px 30px 86px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px;display:flex}.topbar h1{letter-spacing:-.045em;margin:0 0 5px;font-size:clamp(28px,3vw,40px)}.topbar p{color:#64748b;margin:0}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.card,.data-panel{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffc2;border:1px solid #ffffffc7;border-radius:28px;padding:24px;box-shadow:0 20px 58px #0f172a14}.card h2,.data-panel h2{margin:0 0 10px}.card p{color:#475569;line-height:1.58}.action-card{flex-direction:column;justify-content:space-between;min-height:188px;display:flex}.toolbar,.filter-row,.date-nav{flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 10px;display:flex}.filter-row input,.filter-row select{background:#ffffffd1;border:1px solid #94a3b84d;border-radius:16px;outline:none;min-width:min(100%,220px);padding:12px 14px}.summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.info-box{background:#ffffffb8;border:1px solid #cbd5e18a;border-radius:20px;padding:14px}.info-box span{color:#64748b;margin-bottom:5px;font-size:13px;display:block}.info-box strong{font-size:24px}.filter-chips{flex-wrap:wrap;gap:9px;margin:14px 0 18px;display:flex}.filter-chips button.active{background:#94a3b8b8}.group-section{margin-top:20px}.group-section h3{margin:0 0 10px}.group-section h3 span{color:#64748b;font-size:14px}.table-wrap{border:1px solid #e2e8f0d9;border-radius:22px;margin-top:14px;overflow:auto}table{border-collapse:collapse;background:#ffffff94;width:100%}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0eb;padding:13px 14px}th{color:#64748b;text-transform:uppercase;letter-spacing:.065em;background:#f8fafcc7;font-size:12px}td small{color:#64748b;margin-top:6px;display:block}pre{color:#dbeafe;background:#0b1220;border-radius:20px;padding:18px;font-size:14px;overflow:auto}.compact{box-shadow:none;border:1px solid #e2e8f0cc;margin-top:16px}.error-box{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:20px;padding:16px}.muted{color:#64748b}.badge{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:850;display:inline-block}.badge.green{color:#166534;background:#dcfce7}.badge.red{color:#991b1b;background:#fee2e2}.badge.orange{color:#9a3412;background:#ffedd5}.mobile-bottom-nav,.mobile-sheet-backdrop{display:none}@media (width<=980px){.app-shell{display:block}.desktop-sidebar{display:none}.content{padding:18px 18px 104px}.desktop-logout{display:none}.topbar{margin-bottom:16px}.topbar h1{font-size:31px}.grid,.summary{grid-template-columns:1fr 1fr}.filter-row,.date-nav{grid-template-columns:1fr;display:grid}.filter-row input,.filter-row select,.filter-row button,.date-nav button{width:100%;min-width:0}.mobile-bottom-nav{z-index:50;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffc7;border:1px solid #fffc;border-radius:26px;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;display:grid;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 18px 46px #0f172a2e}.mobile-bottom-nav button{box-shadow:none;background:0 0;border-color:#0000;border-radius:20px;place-items:center;gap:2px;padding:8px 4px;display:grid}.mobile-bottom-nav button span{font-size:18px}.mobile-bottom-nav button strong{font-size:12px}.mobile-bottom-nav button.active{background:#cbd5e1b8}.mobile-sheet-backdrop{z-index:60;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a38;display:block;position:fixed;inset:0}.mobile-sheet{background:#ffffffe6;border-radius:30px;padding:14px;position:absolute;bottom:10px;left:10px;right:10px;box-shadow:0 24px 70px #0f172a42}.sheet-handle{background:#cbd5e1;border-radius:999px;width:44px;height:5px;margin:4px auto 14px}.sheet-user{align-items:center;gap:12px;padding:8px 8px 16px;display:flex}.sheet-user span{color:#64748b;font-size:13px;display:block}.sheet-action{width:100%;margin:5px 0}.danger-text{color:#991b1b!important}.mobile-card-list table,.mobile-card-list thead,.mobile-card-list tbody,.mobile-card-list th,.mobile-card-list td,.mobile-card-list tr{display:block}.mobile-card-list thead{display:none}.mobile-card-list{border:0;border-radius:0;overflow:visible}.mobile-card-list table{background:0 0}.mobile-card-list tr{background:#ffffffc7;border:1px solid #e2e8f0e6;border-radius:22px;margin:12px 0;padding:12px;box-shadow:0 12px 32px #0f172a14}.mobile-card-list td{border:0;padding:8px 4px}.mobile-card-list td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-size:12px;display:block}.row-actions button{width:100%;margin:4px 0}}@media (width<=520px){.summary{grid-template-columns:1fr 1fr}.filter-chips button{flex:calc(50% - 8px)}}.detail-backdrop{z-index:70;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a3d;justify-content:flex-end;display:flex;position:fixed;inset:0}.detail-panel{background:#ffffffeb;border:1px solid #ffffffdb;border-radius:30px;width:min(560px,100vw - 18px);height:calc(100vh - 18px);margin:9px;padding:20px;overflow:auto;box-shadow:0 24px 70px #0f172a42}.detail-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.detail-header h2{letter-spacing:-.03em;margin:0 0 4px}.detail-header p{color:#64748b;margin:0}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.history{margin-top:18px}.history h3{margin:0 0 10px}.history-item{background:#f8fafcdb;border:1px solid #e2e8f0e6;border-radius:18px;margin:8px 0;padding:12px}.history-item strong{display:block}.history-item span{color:#64748b;margin-top:3px;display:block}.history-item p{margin:8px 0 0}@media (width<=980px){.detail-backdrop{justify-content:center;align-items:flex-end}.detail-panel{border-radius:30px 30px 22px 22px;width:calc(100vw - 18px);height:min(84vh,760px)}.detail-grid{grid-template-columns:1fr}}.group-mode-panel{background:#f8fafcb8;border:1px solid #e2e8f0db;border-radius:24px;margin:20px 0 16px;padding:18px;box-shadow:inset 0 1px #ffffffb8}.group-mode-header{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.group-mode-header h3{letter-spacing:-.025em;margin:4px 0 0;font-size:20px}.eyebrow-like{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.group-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.group-card{text-align:left;border-radius:20px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:88px;display:flex;background:#ffffff9e!important;border:1px solid #94a3b842!important;box-shadow:0 10px 24px #0f172a0f,inset 0 1px #ffffffb8!important}.group-card strong{color:#0f172a;margin-bottom:5px;font-size:15px;display:block}.group-card span{color:#64748b;font-size:12px;line-height:1.35}.group-card.active{background:#cbd5e1c7!important;border-color:#64748b61!important}.group-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}@media (width<=1100px){.group-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.group-mode-panel{padding:14px}.group-mode-header{display:block}.group-mode-header .secondary{width:100%;margin-top:10px}.group-cards{grid-template-columns:1fr}.group-actions button{width:100%}}.mobile-filter-details{display:none}@media (width<=680px){.desktop-filter-area{display:none!important}.mobile-filter-details{background:#f8fafcc7;border:1px solid #e2e8f0e6;border-radius:24px;margin:16px 0 18px;display:block;overflow:hidden;box-shadow:0 12px 32px #0f172a12,inset 0 1px #ffffffb8}.mobile-filter-details summary{cursor:pointer;color:#0f172a;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;font-weight:850;list-style:none;display:flex}.mobile-filter-details summary::-webkit-details-marker{display:none}.mobile-filter-details summary:after{content:"�0D6ffnen";color:#475569;background:#cbd5e1b8;border:1px solid #64748b38;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:850}.mobile-filter-details[open] summary:after{content:"Schlie�0DFen"}.mobile-filter-body{gap:14px;padding:0 14px 14px;display:grid}.mobile-filter-body .date-nav,.mobile-filter-body .filter-row{grid-template-columns:1fr!important;gap:10px!important;margin:0!important;display:grid!important}.mobile-filter-body .date-nav button,.mobile-filter-body .filter-row button,.mobile-filter-body .filter-row input,.mobile-filter-body .filter-row select{width:100%!important;min-width:0!important}.mobile-filter-body .group-mode-panel{border-radius:20px!important;margin:0!important;padding:14px!important}.mobile-filter-body .group-mode-header{display:block!important}.mobile-filter-body .group-mode-header .secondary{width:100%!important;margin-top:10px!important}.mobile-filter-body .group-cards{grid-template-columns:1fr!important}.mobile-filter-body .group-actions button{width:100%!important}.mobile-filter-body .filter-chips{grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0!important;display:grid!important}.mobile-filter-body .filter-chips button{width:100%!important;padding:9px 10px!important}}.desktop-filter-area{display:none!important}.mobile-filter-details{background:#f8fafcc7;border:1px solid #e2e8f0e6;border-radius:26px;margin:18px 0 20px;overflow:hidden;box-shadow:0 12px 32px #0f172a12,inset 0 1px #ffffffb8;display:block!important}.mobile-filter-details summary{cursor:pointer;color:#0f172a;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;font-weight:850;list-style:none;display:flex}.mobile-filter-details summary::-webkit-details-marker{display:none}.mobile-filter-details summary:before{content:"▾";color:#334155;background:#cbd5e1b8;border:1px solid #64748b38;border-radius:999px;place-items:center;width:28px;height:28px;margin-right:8px;font-size:14px;transition:transform .16s;display:inline-grid}.mobile-filter-details[open] summary:before{transform:rotate(180deg)}.mobile-filter-details summary:after{content:"�0D6ffnen";color:#475569;background:#cbd5e1b8;border:1px solid #64748b38;border-radius:999px;margin-left:auto;padding:6px 9px;font-size:12px;font-weight:850}.mobile-filter-details[open] summary:after{content:"Schlie�0DFen"}.mobile-filter-body{gap:16px;padding:0 16px 16px;display:grid}.mobile-filter-body .date-nav,.mobile-filter-body .filter-row{margin:0!important}@media (width>=681px){.mobile-filter-body .date-nav{flex-wrap:wrap!important;gap:10px!important;display:flex!important}.mobile-filter-body .filter-row{grid-template-columns:minmax(230px,1.3fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(220px,1fr) minmax(170px,auto)!important;align-items:center!important;gap:10px!important;display:grid!important}.mobile-filter-body .filter-row input,.mobile-filter-body .filter-row select,.mobile-filter-body .filter-row button{width:100%!important;min-width:0!important}.mobile-filter-body .group-mode-panel,.mobile-filter-body .filter-chips{margin:0!important}}@media (width<=680px){.mobile-filter-details{border-radius:24px;margin:16px 0 18px}.mobile-filter-details summary{padding:15px 16px}.mobile-filter-body{gap:14px;padding:0 14px 14px}.mobile-filter-body .date-nav,.mobile-filter-body .filter-row{grid-template-columns:1fr!important;gap:10px!important;display:grid!important}.mobile-filter-body .date-nav button,.mobile-filter-body .filter-row button,.mobile-filter-body .filter-row input,.mobile-filter-body .filter-row select{width:100%!important;min-width:0!important}.mobile-filter-body .filter-chips{grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0!important;display:grid!important}.mobile-filter-body .filter-chips button{width:100%!important}}.parent-replies-panel{gap:18px;display:grid}.parent-reply-filter-row{grid-template-columns:minmax(220px,1fr) minmax(160px,220px) auto;align-items:center;gap:10px;display:grid}.parent-reply-list{gap:14px;display:grid}.parent-reply-card{background:#ffffffc2;border:1px solid #e2e8f0db;border-radius:24px;padding:18px;box-shadow:0 16px 42px #0f172a14,inset 0 1px #ffffffc7}.parent-reply-topline{color:#64748b;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.parent-reply-card h3{margin:10px 0 4px}.parent-reply-message-title{color:#0f172a;margin-top:14px;font-weight:800}.parent-reply-body{white-space:pre-wrap;color:#334155;line-height:1.55}.parent-reply-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.status-pill{color:#334155;background:#e2e8f0d9;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}.status-submitted,.status-open{color:#991b1b;background:#fee2e2e6}.status-read{color:#1e40af;background:#dbeafee6}.status-in_progress{color:#854d0e;background:#fef9c3e6}.status-done{color:#166534;background:#dcfce7e6}@media (width<=760px){.parent-reply-filter-row{grid-template-columns:1fr}.parent-reply-actions button{flex:auto}}.parent-replies-panel{max-width:980px}.parent-reply-filter-row input,.parent-reply-filter-row select{color:#0f172a;width:100%;min-height:46px;font:inherit;background:#ffffffc7;border:1px solid #94a3b857;border-radius:16px;padding:0 14px;box-shadow:inset 0 1px #ffffffb8,0 10px 24px #0f172a0d}.parent-reply-filter-row input:focus,.parent-reply-filter-row select:focus{border-color:#2563eb73;outline:none;box-shadow:0 0 0 4px #2563eb1a,inset 0 1px #fffc}.parent-replies-panel .section-heading-row{align-items:flex-start}.parent-replies-panel .empty-state{color:#475569;background:#ffffffa3;border:1px solid #e2e8f0cc;border-radius:22px;padding:22px}.communication-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:10px 0 8px;display:grid}.communication-summary-grid div{background:#ffffffb8;border:1px solid #e2e8f0d1;border-radius:20px;padding:16px;box-shadow:0 12px 30px #0f172a0f,inset 0 1px #ffffffc7}.communication-summary-grid b{color:#0f172a;font-size:30px;line-height:1;display:block}.communication-summary-grid span{color:#64748b;margin-top:6px;font-size:13px;font-weight:700;display:block}.type-reply{color:#1e40af;background:#dbeafef2}.type-absence{color:#991b1b;background:#fee2e2f2}.type-meal{color:#854d0e;background:#fef9c3f2}.type-care{color:#166534;background:#dcfce7f2}.type-message{color:#5b21b6;background:#ede9fef2}@media (width<=900px){.communication-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
