:root{--background:#f7f4ec;--surface:#fff;--surface-soft:#efeadf;--text:#263028;--muted:#6f766d;--border:#ddd5c7;--accent:#4f684f;--accent-dark:#2f3b31;--accent-soft:#dfe8dc;--warning:#f3e6c8}*{box-sizing:border-box}body{background:var(--background);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}.appShell{grid-template-columns:260px 1fr;min-height:100vh;transition:grid-template-columns .25s;display:grid}.appShell.sidebarClosed{grid-template-columns:86px 1fr}.sidebar{background:var(--accent-dark);color:#fff;border-right:1px solid #ffffff1a;padding:26px;overflow:hidden}.sidebarClosed .sidebar{padding-left:20px;padding-right:20px}.brand{align-items:center;gap:12px;margin-bottom:34px;display:flex}.sidebarClosed .brand{justify-content:center}.brandMark{background:var(--background);width:42px;height:42px;color:var(--accent-dark);cursor:pointer;border:0;border-radius:14px;place-items:center;padding:0;font-size:22px;font-weight:800;display:grid}.brandMark img{object-fit:contain;width:28px;height:28px}.brand strong{font-size:19px;display:block}.brand small{color:#ffffffb3;margin-top:2px;display:block}.menu{gap:8px;display:grid}.menuItem{color:#ffffffc7;border-radius:14px;padding:12px 14px;font-weight:700;text-decoration:none}.menuItem:hover,.menuItem.active{color:#fff;background:#ffffff1f}.dashboard{width:100%;max-width:1400px;padding:36px}.fullPage{max-width:1400px;margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin:0 0 8px;font-size:12px;font-weight:800}h1{letter-spacing:-.04em;margin:0;font-size:46px}h2{margin:0;font-size:23px}h3{color:var(--accent-dark);margin:0 0 10px;font-size:16px}.subtitle{color:var(--muted);margin:8px 0 0;font-size:17px}.dateBox{background:var(--surface);border:1px solid var(--border);border-radius:18px;min-width:230px;padding:18px 22px;box-shadow:0 10px 30px #3d332814}.dateBox span{color:var(--muted);font-size:13px;display:block}.dateBox strong{margin-top:4px;font-size:20px;display:block}.statsGrid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:0 10px 30px #3d33280f}.card span{color:var(--muted);margin-bottom:8px;font-size:14px;display:block}.card strong{font-size:28px}.warning{background:var(--warning)}.contentGrid{grid-template-columns:1.6fr .9fr;gap:24px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:24px;box-shadow:0 16px 40px #3d332814}.panelHeader{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.panelHeader.compact{margin-bottom:14px}.panelHeader p{color:var(--muted);margin:6px 0 0}button{background:var(--accent-dark);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:11px 16px;font-weight:800}button:disabled{opacity:.45;cursor:not-allowed}.actions{align-items:center;gap:10px;display:flex}.secondaryButton{border:1px solid var(--border);background:var(--surface);color:var(--accent-dark);border-radius:999px;justify-content:center;align-items:center;padding:11px 16px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 8px 20px #3d33280f}.lightButton{background:var(--surface);color:var(--accent-dark);border:1px solid var(--border)}.dangerButton{color:#6f2520;background:#f5d6d2;border:1px solid #e5aaa3;border-radius:999px;padding:8px 12px;font-weight:800}table{border-collapse:collapse;width:100%;overflow:hidden}th{text-align:left;color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--border);padding:13px;font-size:13px}td{border-bottom:1px solid var(--border);padding:15px 13px}tr:last-child td{border-bottom:0}.parkingPreview{gap:18px;display:grid}.parkingLot{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;padding:16px}.parkingRow,.parkingGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.p3Row{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.parkingSpace{border:1px solid var(--border);text-align:center;background:#fff;border-radius:14px;place-items:center;min-height:56px;padding:8px;font-size:14px;font-weight:800;display:grid}.parkingSpace.free{border-color:#b9c8b5}.parkingSpace.blocked{background:var(--accent-soft);border-color:#b9c8b5}.parkingSpace span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.parkingSpace strong{display:block}.parkingSpace small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.parkingPageGrid{grid-template-columns:1.4fr .7fr;gap:24px;display:grid}.parkingMapLarge{gap:22px;display:grid}.parkingArea{background:var(--surface-soft);border:1px solid var(--border);border-radius:20px;padding:18px}.p1Layout{grid-template-columns:1fr 1fr;gap:12px;display:grid}.p2LayoutLarge{grid-template-columns:1fr 1fr;gap:12px;max-width:520px;display:grid}.p3LayoutLarge{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.emptySpace{min-height:76px}.rulesList{gap:14px;display:grid}.rulesList div{background:var(--surface-soft);border:1px solid var(--border);border-radius:16px;padding:14px}.rulesList strong{margin-bottom:6px;display:block}.rulesList span{color:var(--muted);line-height:1.4;display:block}.agendaGrid{grid-template-columns:1.2fr .8fr;gap:24px;margin-bottom:24px;display:grid}.formGrid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}label{color:var(--muted);gap:7px;font-size:13px;font-weight:800;display:grid}input,select{border:1px solid var(--border);background:var(--surface-soft);width:100%;color:var(--text);font:inherit;border-radius:14px;padding:12px 13px}.formActions{gap:10px;margin-top:20px;display:flex}.noticeList{gap:12px;display:grid}.notice{border:1px solid var(--border);border-radius:15px;padding:13px 14px;font-weight:700;line-height:1.35}.notice.good{background:var(--accent-soft);color:var(--accent-dark)}.notice.neutral{background:var(--surface-soft);color:var(--muted)}.forceBox{background:var(--warning);border:1px solid var(--border);border-radius:16px;margin-top:18px;padding:14px}.forceBox p{color:var(--muted);margin:8px 0 0;line-height:1.4}.checkboxLabel{color:var(--accent-dark);align-items:center;gap:9px;font-size:14px;font-weight:800;display:flex}.checkboxLabel input{width:auto}.errorNotice{color:#6f2520;background:#f5d6d2;border:1px solid #e5aaa3;border-radius:15px;margin-top:14px;padding:13px 14px;font-weight:800}.infoNotice{background:var(--accent-soft);color:var(--accent-dark);border:1px solid #b9c8b5;border-radius:15px;margin-top:14px;padding:13px 14px;font-weight:800}.warningNotice{background:var(--warning);color:var(--accent-dark);border:1px solid var(--border);border-radius:15px;margin-top:14px;padding:13px 14px;font-weight:800}.reportControls{grid-template-columns:repeat(3,minmax(180px,1fr));align-items:end;gap:14px;margin-bottom:18px;display:grid}.emptyReport{background:var(--surface-soft);border:1px solid var(--border);color:var(--muted);border-radius:15px;margin-top:18px;padding:14px;font-weight:800}.printOnly{display:none}.reportPrintHeader{margin-bottom:18px}.reportPrintHeader h1{margin:0 0 4px;font-size:28px}.reportPrintHeader p{color:var(--muted);margin:0;font-weight:700}.tableActions{flex-wrap:wrap;gap:8px;display:flex}.editButton{background:var(--accent-soft);color:var(--accent-dark);border:1px solid #b9c8b5;border-radius:999px;padding:8px 12px;font-weight:800}.managementGrid{grid-template-columns:1fr;gap:24px;margin-bottom:24px;display:grid}.settingsActions{flex-wrap:wrap;gap:10px;display:flex}.roomAssignmentGrid{gap:14px;display:grid}.roomAssignmentCard{background:var(--surface-soft);border:1px solid var(--border);border-radius:18px;padding:16px}.roomAssignmentList{gap:10px;display:grid}.roomAssignmentItem{background:var(--surface);border:1px solid var(--border);border-radius:15px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.roomAssignmentHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.smallBadge{background:var(--accent-soft);color:var(--accent-dark);border:1px solid #b9c8b5;border-radius:999px;justify-content:center;align-items:center;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}@media (max-width:1200px){.dashboard{padding:28px}.contentGrid,.parkingPageGrid,.agendaGrid{grid-template-columns:1fr}.statsGrid{grid-template-columns:repeat(2,1fr)}.reportControls{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width:900px){.appShell,.appShell.sidebarClosed{grid-template-columns:76px 1fr}.sidebar{padding:18px 14px}.brand{justify-content:center}.brand>div,.menu{display:none}.dashboard{padding:22px}.topbar,.panelHeader{flex-direction:column;align-items:flex-start}.actions{flex-wrap:wrap;width:100%}.actions button,.actions a{width:100%}h1{font-size:38px}.subtitle{font-size:15px}.dateBox{width:100%}.formGrid{grid-template-columns:repeat(2,1fr)}.p3LayoutLarge,.p3Row{grid-template-columns:repeat(3,1fr)}.panel{overflow-x:auto}table{min-width:850px}}@media (max-width:650px){.appShell,.appShell.sidebarClosed{grid-template-columns:1fr}.sidebar{z-index:20;border-bottom:1px solid #ffffff1a;border-right:0;height:auto;padding:12px 16px;position:sticky;top:0}.brand{justify-content:flex-start;margin-bottom:0}.brandMark{width:40px;height:40px}.brand>div{display:block}.menu{margin-top:14px}.appShell.sidebarClosed .menu{display:none}.appShell:not(.sidebarClosed) .menu{display:grid}.dashboard{padding:16px}h1{font-size:32px}h2{font-size:21px}.statsGrid,.formGrid,.reportControls{grid-template-columns:1fr}.card,.panel{border-radius:18px;padding:18px}.p1Layout,.parkingRow,.p2LayoutLarge,.parkingGrid{grid-template-columns:1fr}.emptySpace{display:none}.p3LayoutLarge,.p3Row{grid-template-columns:1fr}table{min-width:780px}th,td{padding:11px}}.parkingDatePanel{margin-bottom:24px}.singleFormRow{grid-template-columns:minmax(220px,320px)}.parkingSpace.occupied{background:var(--accent-soft);border-color:#b9c8b5}@media print{.sidebar,.topbar,.agendaGrid,.noPrint,.actions,.formActions,.dangerButton{display:none!important}.printOnly,.appShell{display:block}.dashboard{max-width:none;padding:0}.panel{box-shadow:none;border:0;padding:0}body{background:#fff}table{min-width:0;font-size:12px}th,td{padding:8px}}.reportPrintHeader,.printOnly{display:none}.emptyReport{border:1px dashed var(--border);color:var(--muted);background:var(--surface-soft);border-radius:16px;margin-top:16px;padding:16px}@media print{@page{size:A4;margin:14mm}html,body{font-size:11px;color:#111!important;background:#fff!important}.appShell,.dashboard,.fullPage{background:#fff!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important}.sidebar,.mobileHeader,.topbar,.noPrint,.actions,button,input,select,textarea{display:none!important}.printOnly{display:block!important}.reportPrintHeader{border-bottom:2px solid #111;margin-bottom:18px;padding-bottom:12px;display:block!important}.reportPrintHeader h1{margin:0 0 4px;font-size:24px;line-height:1.1;color:#111!important}.reportPrintHeader p{margin:0;font-size:13px;color:#333!important}.panel{break-inside:avoid;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important}.panelHeader{margin-bottom:10px}.panelHeader h2,h2{margin:18px 0 8px;font-size:16px;line-height:1.2;color:#111!important}.panelHeader p,.subtitle,.eyebrow{color:#444!important}.statsGrid{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;display:grid!important}.card{break-inside:avoid;box-shadow:none!important;background:#fff!important;border:1px solid #ccc!important;padding:10px!important}.card span{font-size:10px;color:#444!important}.card strong{font-size:16px;color:#111!important}table{break-inside:auto;margin-top:8px;margin-bottom:14px;font-size:10px;border-collapse:collapse!important;width:100%!important}thead{display:table-header-group}tr{break-inside:avoid;page-break-inside:avoid}th,td{text-align:left;vertical-align:top;color:#111!important;border:1px solid #cfcfcf!important;padding:6px 7px!important}th{font-weight:800;background:#eee!important}.parkingMapLarge{grid-template-columns:1fr;gap:10px;margin:12px 0 16px;display:grid!important}.parkingArea{break-inside:avoid;background:#fff!important;border:1px solid #ccc!important;padding:10px!important}.parkingArea h3{margin:0 0 8px;font-size:13px;color:#111!important}.p1Layout,.p2LayoutLarge,.p3LayoutLarge{gap:8px;display:grid!important}.p1Layout,.p2LayoutLarge{grid-template-columns:repeat(2,1fr)}.p3LayoutLarge{grid-template-columns:repeat(5,1fr)}.parkingSpace{box-shadow:none!important;color:#111!important;background:#fff!important;border:1px solid #999!important;min-height:auto!important;padding:8px!important}.parkingSpace.occupied{background:#eee!important}.parkingSpace.free{background:#fff!important}.parkingSpace span,.parkingSpace strong,.parkingSpace small{color:#111!important}.parkingSpace span{font-size:10px}.parkingSpace strong{font-size:12px}.parkingSpace small{font-size:9px}.infoNotice,.warningNotice,.errorNotice,.notice{break-inside:avoid;color:#111!important;box-shadow:none!important;background:#fff!important;border:1px solid #999!important;margin:10px 0!important;padding:10px!important}.emptyReport{margin-top:10px;color:#333!important;background:#fff!important;border:1px dashed #999!important;padding:10px!important}a{color:#111!important;text-decoration:none!important}}.loginPage{background:radial-gradient(circle at top left, #4f684f2e, transparent 34%), var(--background);place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{background:var(--surface);border:1px solid var(--border);border-radius:28px;width:min(460px,100%);padding:32px;box-shadow:0 18px 50px #26302814}.loginLogo{object-fit:contain;width:74px;height:74px;margin-bottom:20px}.sidebarFooter{border-top:1px solid #ffffff24;margin-top:auto;padding-top:18px}.sidebarFooter .lightButton{width:100%}
