:root{--ink:#17211f;--muted:#64706d;--line:#dfe5e2;--paper:#f5f7f4;--white:#fff;--green:#173f3a;--green-2:#28665d;--mint:#dff0e7;--coral:#ee745d;--amber:#e4aa43;--shadow:0 14px 38px rgba(30,52,47,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;font-size:15px}.app-shell{min-height:100vh;display:flex}.sidebar{width:244px;background:var(--green);color:white;padding:28px 18px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:10}.brand{color:white;text-decoration:none;display:flex;align-items:center;gap:12px;padding:0 9px 35px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:var(--mint);color:var(--green);font-family:'Segoe UI',Arial,sans-serif;font-weight:800}.brand strong,.brand small{display:block;font-family:'Segoe UI',Arial,sans-serif;font-size:18px;line-height:18px}.brand small{font-weight:600;color:#9fc0b8}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-link{color:#c2d4d0;text-decoration:none;padding:13px 14px;border-radius:11px;font-weight:600;display:flex;align-items:center;gap:12px}.nav-link span{width:21px;text-align:center;font-size:19px}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.11);color:white}.nav-link.active{box-shadow:inset 3px 0 var(--coral)}.sidebar-note{margin-top:auto;border-top:1px solid rgba(255,255,255,.13);padding:22px 9px 0;display:flex;gap:10px;align-items:center}.status-dot{width:9px;height:9px;background:#76d8a8;border-radius:50%;box-shadow:0 0 0 4px rgba(118,216,168,.12)}.sidebar-note strong,.sidebar-note small{display:block;font-size:12px}.sidebar-note small{color:#93b4ad;margin-top:2px}.main{margin-left:244px;width:calc(100% - 244px);padding:34px 42px 22px;max-width:1480px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.topbar h1{font:800 29px/1.2 'Segoe UI',Arial,sans-serif;margin:3px 0 0}.eyebrow{letter-spacing:.14em;font-size:10px;font-weight:800;color:var(--green-2);margin:0;text-transform:uppercase}.today{text-align:right;border-left:1px solid var(--line);padding-left:22px}.today span,.today strong{display:block}.today span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.today strong{margin-top:3px}.menu-button{display:none}.alert{padding:14px 17px;border-radius:12px;margin:0 0 20px;display:flex;align-items:center;gap:10px;font-weight:600}.alert span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%}.alert.success{background:#e0f3e8;color:#216348}.alert.success span{background:#bce2cc}.alert.error{background:#fde8e3;color:#9c3e2c}.alert.error span{background:#f4beb2}.stats-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:15px;margin-bottom:18px}.stat-card{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;gap:15px;align-items:center;box-shadow:0 4px 12px rgba(30,52,47,.025)}.stat-card.accent{background:var(--green);color:white;border-color:var(--green)}.stat-icon{width:43px;height:43px;border-radius:12px;background:#edf4f1;color:var(--green);display:grid;place-items:center;font-size:22px}.accent .stat-icon{background:rgba(255,255,255,.13);color:white}.stat-card small,.stat-card strong{display:block}.stat-card small{font-size:12px;color:var(--muted);margin-bottom:2px}.accent small{color:#a9c2bc}.stat-card strong{font:800 24px 'Segoe UI',Arial,sans-serif}.stat-card.wide strong{font-size:16px}.stat-card p{margin:3px 0 0;color:var(--muted);font-size:12px}.panel{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:25px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.panel-header h2{font:800 21px 'Segoe UI',Arial,sans-serif;margin:5px 0 0}.subtext{color:var(--muted);margin:7px 0 0}.button{border:0;border-radius:10px;padding:11px 16px;font:700 13px 'Segoe UI',Arial,sans-serif;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px}.button.primary{background:var(--coral);color:white;box-shadow:0 5px 14px rgba(238,116,93,.25)}.button.primary:hover{background:#df6650}.button.secondary{background:#eef2ef;color:var(--green)}.button.ghost{color:var(--muted);background:transparent}.button.small{padding:8px 11px}.filters{display:flex;align-items:end;gap:10px;padding:21px 0 17px;border-bottom:1px solid var(--line)}label{font-weight:700;font-size:12px;color:#38423f;display:flex;flex-direction:column;gap:7px}label span{color:var(--coral)}label small{font-weight:500;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #d6ddda;border-radius:10px;background:#fbfcfb;padding:11px 12px;color:var(--ink);font:500 14px 'Segoe UI',Arial,sans-serif;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(40,102,93,.11);background:white}.filters label{min-width:180px}.filters input,.filters select{padding:9px 11px}.clear-filter{color:var(--muted);font-size:12px;padding:10px}.date-divider{padding:18px 2px 8px;display:flex;align-items:baseline;gap:7px;color:var(--muted)}.date-divider span{text-transform:uppercase;font-size:10px;letter-spacing:.08em;font-weight:800}.date-divider strong{font-size:13px;color:var(--ink)}.reservation-row{display:grid;grid-template-columns:122px 1fr minmax(190px,.6fr) 36px;gap:18px;align-items:center;padding:15px 13px;border-radius:12px;border:1px solid transparent}.reservation-row:hover{border-color:var(--line);background:#fafcfb}.shift-badge{font-size:12px;font-weight:700;color:#4a5753;display:flex;align-items:center;gap:8px}.shift-badge span{width:8px;height:8px;border-radius:50%;background:var(--amber)}.shift-badge.tarde span{background:var(--coral)}.shift-badge.noite span{background:#7183b4}.shift-badge.dia.inteiro span{background:var(--green-2)}.reservation-main h3,.resource-row h3{font:700 14px 'Segoe UI',Arial,sans-serif;margin:0}.reservation-main p,.resource-row p{margin:4px 0 0;color:var(--muted);font-size:12px}.person{display:flex;gap:9px;align-items:center}.person>span{width:32px;height:32px;border-radius:10px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-weight:800}.person small,.person strong{display:block}.person small{font-size:10px;color:var(--muted)}.person strong{font-size:12px}.icon-button{border:0;background:transparent;color:#a2aaa8;font-size:22px;cursor:pointer;border-radius:7px}.icon-button:hover{color:var(--coral);background:#fff0ed}.empty-state{text-align:center;padding:55px 20px}.empty-state>span{display:grid;place-items:center;margin:auto;width:48px;height:48px;border-radius:16px;background:var(--mint);color:var(--green);font-size:22px}.empty-state h3{font:700 17px 'Segoe UI',Arial,sans-serif;margin:14px 0 5px}.empty-state p{color:var(--muted);margin:0 0 11px}.empty-state a{color:var(--green-2);font-weight:700}.form-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(260px,.8fr);gap:18px;align-items:start}.form-panel{padding:29px}.reservation-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:27px}.full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:19px}.info-card{background:var(--green);color:white;border-radius:18px;padding:25px;box-shadow:var(--shadow)}.info-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.12);font:700 18px Georgia}.info-card h3{font:700 17px 'Segoe UI',Arial,sans-serif;margin:18px 0 13px}.info-card ol{padding-left:18px;color:#c5d6d2;line-height:2}.info-card p{border-top:1px solid rgba(255,255,255,.13);padding-top:17px;color:#a9c2bc;font-size:12px;line-height:1.55}.resource-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,.8fr);gap:18px;align-items:start}.count-pill{font-size:11px;font-weight:700;background:var(--mint);color:var(--green);padding:7px 10px;border-radius:99px}.resource-list{margin-top:18px}.resource-row{display:grid;grid-template-columns:43px 1fr auto auto;align-items:center;gap:13px;padding:14px 5px;border-top:1px solid var(--line)}.resource-symbol{width:40px;height:40px;border-radius:12px;background:#eef3f1;display:grid;place-items:center;color:var(--green);font-weight:800}.resource-row.inactive{opacity:.55}.availability{font-size:11px;font-weight:700;color:var(--green-2);display:flex;align-items:center;gap:6px}.availability i{width:7px;height:7px;border-radius:50%;background:#51b885}.inactive .availability i{background:#9ca5a3}.stack-form{display:flex;flex-direction:column;gap:16px;margin-top:20px}.stack-form .button{margin-top:3px}.compact-panel{padding:24px}footer{color:#8b9592;font-size:11px;padding:23px 3px 0;display:flex;justify-content:space-between}
@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0);box-shadow:20px 0 50px rgba(0,0,0,.2)}.main{margin-left:0;width:100%;padding:25px}.menu-button{display:block;border:0;background:white;border-radius:10px;width:42px;height:42px;font-size:20px;margin-right:15px}.topbar{justify-content:flex-start}.today{margin-left:auto}.stats-grid{grid-template-columns:1fr 1fr}.stat-card.wide{grid-column:1/-1}.form-layout,.resource-layout{grid-template-columns:1fr}.info-card{order:-1}.reservation-row{grid-template-columns:110px 1fr 36px}.person{grid-column:2}.reservation-row form{grid-column:3;grid-row:1/3}}
@media(max-width:640px){.main{padding:20px 14px}.topbar h1{font-size:23px}.today{display:none}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{padding:15px}.stat-card.wide{grid-column:1/-1}.stat-icon{display:none}.panel{padding:18px}.panel-header{align-items:flex-start}.panel-header .button{font-size:0;padding:10px}.panel-header .button:first-letter{font-size:15px}.filters{flex-wrap:wrap}.filters label{min-width:calc(50% - 5px);flex:1}.reservation-row{grid-template-columns:94px 1fr 30px;gap:8px;padding:14px 4px}.person{grid-column:2}.reservation-form{grid-template-columns:1fr}.reservation-form>*{grid-column:1!important}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.resource-row{grid-template-columns:38px 1fr auto}.resource-row .availability{grid-column:2}.resource-row form{grid-column:3;grid-row:1/3}.resource-row .button{font-size:0}.resource-row .button:after{content:'•••';font-size:13px}footer span{display:none}}
