:root{--ink:#173d35;--deep:#12342e;--mint:#dff2e9;--cream:#f7f5ee;--orange:#e8753d;--orange-soft:#fff0e8;--line:#dfe7e2;--muted:#667873;--white:#fff;--shadow:0 18px 50px rgba(23,61,53,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.topbar{height:78px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:rgba(247,245,238,.92);border-bottom:1px solid rgba(23,61,53,.09);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:bold 20px Manrope}.brand>span:last-child span{color:var(--orange)}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--ink);display:grid;place-items:center}.brand-mark svg{width:24px;fill:none;stroke:#fff;stroke-width:1.8}.topbar nav{display:flex;gap:30px}.nav-link{border:0;background:none;color:var(--muted);font-weight:600;padding:28px 3px 24px;border-bottom:3px solid transparent}.nav-link.active{color:var(--ink);border-color:var(--orange)}.avatar{width:40px;height:40px;border-radius:50%;border:0;background:var(--orange);color:#fff;font-weight:700}.hero{min-height:330px;padding:66px max(7vw,28px);display:flex;align-items:center;justify-content:space-between;overflow:hidden;background:var(--deep);color:#fff;position:relative}.hero:before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.07);border-radius:50%;left:-190px;top:-170px}.eyebrow{margin:0 0 10px;color:var(--orange);font:700 12px Manrope;letter-spacing:.16em}.hero h1{font:800 clamp(36px,5vw,64px)/1.03 Manrope;margin:0;letter-spacing:-.04em}.hero h1 em{font-style:normal;color:#a8d7c6}.hero-copy{font-size:17px;color:#c3d1cd;margin:22px 0 0}.hero-art{width:min(37vw,390px);position:relative;align-self:stretch;display:grid;place-items:center}.hero-art svg{width:100%;fill:none;stroke:#eaf6f1;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:2}.shape{position:absolute;border-radius:50%}.shape-one{width:230px;height:230px;background:#285c50;right:20px;top:-10px}.shape-two{width:105px;height:105px;background:var(--orange);right:-25px;bottom:-25px}.content{max-width:1180px;margin:auto;padding:58px 24px 86px}.hidden{display:none}.section-heading,.schedule-head,.reservations-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-heading h2,.schedule-head h2,.reservations-head h2,dialog h2{font:800 28px Manrope;margin:0;letter-spacing:-.03em}.date-control{display:flex;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 7px 20px rgba(23,61,53,.05)}.date-control button{border:0;background:#fff;color:var(--ink);font-size:25px;padding:0 15px}.date-control button:hover{background:var(--mint)}.date-control label{padding:9px 15px;display:flex;flex-direction:column;border-inline:1px solid var(--line);font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.date-control input{border:0;color:var(--ink);font-weight:700;background:none}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.room-card{background:#fff;border:2px solid transparent;border-radius:18px;padding:22px;display:grid;grid-template-columns:110px 1fr 28px;gap:20px;align-items:center;box-shadow:0 7px 25px rgba(23,61,53,.05);transition:.2s;cursor:pointer;outline:none}.room-card:hover,.room-card:focus{transform:translateY(-2px);box-shadow:var(--shadow)}.room-card.selected{border-color:var(--orange)}.room-icon{height:112px;border-radius:14px;display:grid;place-items:center}.room-icon.auditorium{background:#e6f2ed}.room-icon.meeting{background:#fff0e7}.room-icon svg{width:72px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.room-title{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.room-title h3{font:800 20px Manrope;margin:0}.room-title span{background:var(--mint);border-radius:30px;padding:5px 9px;font-size:11px;font-weight:700}.room-info p{color:var(--muted);font-size:14px;line-height:1.5;margin:8px 0 13px}.features{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;font-weight:700;color:#536c65}.check{width:25px;height:25px;border-radius:50%;background:var(--orange);color:#fff;display:none;place-items:center;font-weight:bold}.selected .check{display:grid}.schedule-panel{margin-top:28px;background:#fff;border-radius:18px;padding:28px;box-shadow:0 7px 25px rgba(23,61,53,.05)}.schedule-head{align-items:center;border-bottom:1px solid var(--line);padding-bottom:21px}.legend{display:flex;gap:18px;font-size:12px;color:var(--muted)}.legend span{display:flex;gap:7px;align-items:center}.legend i{width:9px;height:9px;border-radius:50%}.legend .free{background:#9dcebb}.legend .busy{background:#f2a17b}.timeline{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;padding-top:24px}.slot{border:1px solid #cfe2da;border-radius:10px;background:#f1f8f5;color:var(--ink);padding:15px 5px;text-align:center;font-weight:700;transition:.15s}.slot:hover{background:var(--mint);border-color:#8bbfac;transform:translateY(-2px)}.slot.busy{background:#faf0ec;color:#a86c52;border-color:#f0d9ce;cursor:not-allowed;text-decoration:line-through}.reservations-head{margin-bottom:28px}.reservations-head>div>p:last-child{color:var(--muted);margin-bottom:0}.primary{border:0;border-radius:12px;background:var(--orange);color:#fff;padding:13px 20px;font-weight:700;box-shadow:0 8px 20px rgba(232,117,61,.22)}.primary:hover{filter:brightness(.95);transform:translateY(-1px)}.reservation-list{display:grid;gap:14px}.booking-item{background:#fff;border-radius:16px;padding:20px;display:grid;grid-template-columns:70px 1fr auto;gap:20px;align-items:center;border:1px solid var(--line)}.date-badge{background:var(--mint);padding:10px;border-radius:12px;text-align:center}.date-badge b{display:block;font:800 25px Manrope}.date-badge span{text-transform:uppercase;font-size:11px;font-weight:700}.booking-item h3{margin:0 0 5px;font:700 18px Manrope}.booking-item p{margin:0;color:var(--muted);font-size:14px}.cancel{border:1px solid #edcabb;background:#fff7f3;color:#b45e39;border-radius:9px;padding:9px 12px;font-weight:700}.empty{padding:70px 20px;text-align:center;background:#fff;border-radius:18px;color:var(--muted)}dialog{width:min(520px,calc(100% - 32px));border:0;border-radius:20px;padding:0;box-shadow:0 30px 80px rgba(14,42,35,.3)}dialog::backdrop{background:rgba(10,32,27,.58);backdrop-filter:blur(3px)}dialog form{padding:34px;position:relative}dialog .close{position:absolute;right:20px;top:16px;border:0;background:none;font-size:28px;color:var(--muted)}.summary-pill{display:flex;justify-content:space-between;background:var(--mint);border-radius:11px;padding:13px 15px;margin:20px 0}.summary-pill span{font-weight:700}.summary-pill b{font-size:13px}dialog label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;margin-top:15px}dialog input,dialog select{width:100%;border:1px solid #ccd9d4;border-radius:10px;padding:12px;background:#fff;color:var(--ink);outline:none}dialog input:focus,dialog select:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{min-height:18px;color:#b34f35;font-size:12px}.full{width:100%;padding:14px}.toast{position:fixed;right:25px;bottom:25px;background:var(--deep);color:#fff;padding:15px 20px;border-radius:14px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow);transform:translateY(130px);opacity:0;transition:.3s;z-index:20}.toast.show{transform:translateY(0);opacity:1}.toast>span{background:#6fba9e;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.toast small{display:block;color:#bcd0c9;margin-top:2px}
@media(max-width:800px){.topbar nav{display:none}.hero{padding-block:48px}.hero-art{display:none}.room-grid{grid-template-columns:1fr}.timeline{grid-template-columns:repeat(5,1fr)}.section-heading{align-items:flex-start;flex-direction:column}.date-control{width:100%;justify-content:space-between}.date-control label{flex:1}.booking-item{grid-template-columns:60px 1fr}.booking-item .cancel{grid-column:1/-1}.room-card{grid-template-columns:82px 1fr 24px}.room-icon{height:92px}.content{padding-top:40px}}@media(max-width:480px){.hero h1{font-size:38px}.room-card{grid-template-columns:1fr 25px}.room-icon{display:none}.timeline{grid-template-columns:repeat(2,1fr)}.schedule-panel{padding:20px}.schedule-head{align-items:flex-start;flex-direction:column}.reservations-head{align-items:flex-start;flex-direction:column}.form-row{grid-template-columns:1fr}}

/* Identidade visual Farloc: azul corporativo com laranja de destaque. */
:root{--ink:#123d68;--deep:#0b2d4f;--mint:#e1effa;--line:#d7e3ed;--muted:#62768a;--shadow:0 18px 50px rgba(11,45,79,.12)}
.hero h1 em{color:#a9cee9}.hero-copy{color:#c8dbea}.shape-one{background:#1a527e}.room-icon.auditorium{background:#e4f0f9}.room-icon svg{stroke:var(--ink)}.legend .free{background:#78add4}.slot{border-color:#c9ddeb;background:#f0f7fc}.slot:hover{background:#dceefa;border-color:#79add2}.toast>span{background:#4b91c3}.toast small{color:#bfd4e5}

.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,560px) 1fr;background:#fff}.login-panel{padding:clamp(40px,7vw,90px);display:flex;flex-direction:column;justify-content:center}.login-brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font:800 22px Manrope;margin-bottom:64px}.login-mark{width:42px;height:42px;border-radius:13px;background:var(--deep);color:#fff;display:grid;place-items:center}.login-eyebrow{color:var(--orange);font:800 12px Manrope;letter-spacing:.16em;margin:0 0 12px}.login-panel h1{font:800 clamp(34px,4vw,50px)/1.05 Manrope;letter-spacing:-.045em;margin:0;max-width:520px}.login-copy{color:var(--muted);line-height:1.65;margin:22px 0 28px;max-width:480px}.login-panel form{max-width:470px}.login-panel label{display:block;font-size:13px;font-weight:800;margin-bottom:8px}.login-panel input{width:100%;border:1px solid var(--line);border-radius:12px;padding:14px 15px;color:var(--ink);outline:none}.login-panel input:focus{border-color:#4b91c3;box-shadow:0 0 0 3px rgba(75,145,195,.15)}.login-submit{width:100%;margin-top:13px;padding:14px}.login-submit:disabled{opacity:.65;cursor:wait}.login-message{min-height:24px;color:var(--muted);font-size:13px;line-height:1.5}.login-visual{background:var(--deep);color:#fff;padding:70px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-visual:before,.login-visual:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.09)}.login-visual:before{width:540px;height:540px;right:-210px;top:-190px}.login-visual:after{width:320px;height:320px;left:-150px;bottom:-110px}.login-visual>div{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.login-visual span{border:1px solid rgba(255,255,255,.22);border-radius:99px;padding:8px 13px;font-size:12px}.login-visual h2{font:800 clamp(38px,5vw,70px)/1.03 Manrope;letter-spacing:-.05em;margin:0;position:relative;z-index:1}.login-visual h2:after{content:"";display:block;width:80px;height:6px;border-radius:9px;background:var(--orange);margin-top:28px}@media(max-width:820px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}.login-brand{margin-bottom:48px}}

.login-panel label{margin:16px 0 8px}.password-field{position:relative}.password-field input{padding-right:84px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#286d9f;font-size:12px;font-weight:800;padding:8px}.login-submit{margin-top:18px}

.pwa-install{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#0b2d4f;color:#fff;padding:12px 17px;font-size:13px;font-weight:800;box-shadow:0 14px 40px rgba(11,45,79,.28)}.pwa-install:hover{background:#123d68;transform:translateY(-1px)}.pwa-install span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e8753d;font-size:16px}@media(max-width:480px){.pwa-install{right:12px;bottom:12px}}

.avatar{overflow:hidden;padding:0}.avatar img{width:100%;height:100%;object-fit:cover}.booking-form{width:min(760px,calc(100% - 32px));max-height:92vh;overflow:auto}.employee-options{border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow);max-height:245px;overflow:auto}.employee-options>button{width:100%;display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--line);background:#fff;padding:10px;text-align:left;color:var(--ink)}.employee-options>button:hover{background:#f0f7fc}.employee-options>button:last-child{border-bottom:0}.employee-options small{display:block;color:var(--muted);margin-top:2px}.employee-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--mint);font-size:11px;font-weight:800;flex:0 0 auto}.employee-avatar img{width:100%;height:100%;object-fit:cover}.selected-employees{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.selected-employees>span{display:flex;align-items:center;gap:7px;border-radius:99px;background:var(--mint);padding:7px 9px;font-size:12px;font-weight:700}.selected-employees button{border:0;background:none;color:var(--ink);font-weight:900}.file-summary{margin:8px 0;color:var(--muted);font-size:12px}.attachment-edit-list{display:grid;gap:7px;margin-top:10px}.attachment-edit-list>span{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:9px;background:#f0f7fc;font-size:12px}.attachment-edit-list button{border:0;background:none;color:#b45e39;font-weight:800}.booking-actions{display:grid;gap:8px}.edit{border:1px solid #a8cce5;background:#f0f7fc;color:#22658f;border-radius:9px;padding:9px 12px;font-weight:700}.booking-detail>small{display:block;margin-top:5px;color:var(--muted)}.booking-extra,.participant-summary{margin-top:9px;font-size:13px;color:#526d80}.booking-extra a{color:#176fa8;font-weight:800}.attachment-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.attachment-links a{border-radius:8px;background:#e9f3fa;color:#165f8e;padding:7px 9px;text-decoration:none;font-size:12px;font-weight:700}.attachment-links small{color:#668399}.status-cancelled{color:#a85e42;background:#fff0e8;border-radius:99px;padding:7px 10px;font-size:12px;font-weight:800}.admin-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:26px}.admin-head h2{font:800 28px Manrope;margin:0}.admin-head p:last-child{color:var(--muted)}.admin-head input{width:min(390px,100%);border:1px solid var(--line);border-radius:12px;padding:13px 14px;outline:none}.admin-list{display:grid;gap:14px}.admin-booking{grid-template-columns:70px 1fr auto}.admin-booking .booking-detail{min-width:0}@media(max-width:800px){.admin-head{align-items:flex-start;flex-direction:column}.admin-head input{width:100%}.booking-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.booking-form{padding:24px}.topbar{gap:12px}.avatar{flex:0 0 auto}}

@media(max-width:800px){body{padding-bottom:68px}.topbar nav{display:flex;position:fixed;inset:auto 0 0;z-index:55;justify-content:space-around;gap:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(11,45,79,.08)}.nav-link{flex:1;padding:16px 6px 13px;font-size:12px}.pwa-install{bottom:80px}}
