:root{--bg:#090c16;--shell:#0d1121;--nav:#0d1120;--surface:#13192d;--surface2:#192039;--hover:#20294a;--line:#282f4b;--purple:#a78bfa;--pink:#ed65bb;--blue:#59b9ff;--green:#53deb4;--amber:#f9ca70;--red:#fb879a;--ink:#f4f3ff;--muted:#9ca5c5;--radius:19px;--shadow:0 16px 46px #0005}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.01em}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--purple)}input,select,textarea{font-size:14px}::-webkit-scrollbar{width:9px;height:8px}::-webkit-scrollbar-thumb{background:#303957;border-radius:20px}
.loading-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 30% 0,#38225d67,transparent 50%),#090b15}.loading-card{text-align:center}.loading-card img{width:82px;height:82px;object-fit:contain}.loading-card h1{margin:7px 0}.loading-card p{color:var(--muted);font-size:14px}.loader{margin:25px auto;width:34px;height:34px;border:3px solid #6d588855;border-top-color:#b98aff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.auth-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(350px,.9fr) minmax(380px,1.1fr);background:linear-gradient(130deg,#0b0e1c,#101428)}.auth-left{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(30px,5vw,78px);background:radial-gradient(circle at 100% 50%,#50227966,transparent 55%),radial-gradient(circle at 0 100%,#433aa154,transparent 55%),#101329;border-right:1px solid var(--line);min-height:100vh}.auth-brand{display:flex;align-items:center;gap:14px;font-size:20px;font-weight:850}.auth-brand img{width:58px;height:58px}.auth-left h1{font-size:clamp(42px,5vw,70px);line-height:1.03;letter-spacing:-.06em;margin:38px 0 20px;max-width:600px}.auth-left h1 em{font-style:normal;background:linear-gradient(120deg,#bda5ff,#f98ccc);color:transparent;background-clip:text}.auth-left p{font-size:16px;line-height:1.8;color:#b8c0d8;max-width:480px}.auth-pills{display:flex;flex-wrap:wrap;gap:12px}.auth-pills span{background:#ffffff0c;border:1px solid #ffffff17;border-radius:99px;padding:10px 15px;font-size:12px;color:#dadbf9}.auth-note{font-size:12px!important;color:#7684af!important}.auth-right{display:grid;place-items:center;padding:32px}.auth-card{width:min(430px,100%);background:linear-gradient(150deg,#171c33,#111629);border:1px solid #343c5a;border-radius:27px;padding:clamp(25px,4vw,43px);box-shadow:var(--shadow)}.auth-card .avatar-logo{width:62px;height:62px;object-fit:contain}.auth-card h2{font-size:28px;margin:18px 0 6px;letter-spacing:-.05em}.auth-card>p{color:var(--muted);margin:0 0 25px;font-size:14px;line-height:1.6}.auth-card .hint{margin-top:18px;color:#8490b7;line-height:1.6;font-size:12px}.auth-card .hint a{text-decoration:none}
.field{display:block;margin-bottom:15px}.field>span{display:block;margin-bottom:8px;color:#b9c3df;font-size:12px;font-weight:720}.control{display:block;width:100%;min-height:45px;background:#11172a;border:1px solid #303954;border-radius:12px;padding:11px 13px;outline:none;color:#f5f4ff}.control:focus{border-color:#977cf0;box-shadow:0 0 0 3px #8c6ff033}.control::placeholder{color:#697595}.control option{background:#151b30;color:#f5f4ff}textarea.control{min-height:85px;resize:vertical}input[type='date']{color-scheme:dark}input[type='time']{color-scheme:dark}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.muted{color:var(--muted)}.small{font-size:12px}.mb-0{margin-bottom:0!important}.mt-15{margin-top:15px}.mt-20{margin-top:20px}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:11px 16px;background:#252d49;color:#f5f4ff;border:1px solid #384160;border-radius:12px;font-weight:750;font-size:13px;min-height:40px;text-decoration:none;transition:background .18s,transform .18s;white-space:nowrap}.btn:hover{background:#323c61;transform:translateY(-1px)}.btn-primary{background:linear-gradient(120deg,#7545d8,#bf55c5);border-color:transparent;box-shadow:0 7px 24px #7c45ce3a}.btn-primary:hover{background:linear-gradient(120deg,#8557e6,#d063d0)}.btn-danger{background:#5c2937;color:#ffcad5;border-color:#a9435544}.btn-success{background:#1e6657;color:#cdfdef;border-color:#54d8b944}.btn-warning{background:#624a29;color:#ffe0a3;border-color:#ab7c2f44}.btn-quiet{background:transparent;border-color:transparent;color:var(--muted)}.btn-quiet:hover{background:#ffffff13}.btn-sm{min-height:33px;padding:7px 11px;font-size:12px}.btn-block{width:100%}.btn-icon{width:39px;min-height:39px;padding:0;font-size:18px}
.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;background:linear-gradient(185deg,#111426,#0c1020);border-right:1px solid #272e49;display:flex;flex-direction:column;padding:20px 13px;z-index:25}.brand{display:flex;align-items:center;gap:11px;padding:5px 9px 26px}.brand img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 2px 12px #bb74dc44)}.brand strong{font-size:16px;display:block;letter-spacing:-.04em}.brand small{font-size:11px;color:#8b94b9}.nav-heading{color:#6e7ca4;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:750;margin:14px 11px 10px}.nav-links{display:grid;gap:6px}.nav-btn{width:100%;border:1px solid transparent;border-radius:11px;background:transparent;color:#adb7d6;text-align:left;display:flex;align-items:center;gap:12px;padding:12px 13px;font-weight:650;font-size:13px}.nav-btn .nav-icon{font-size:18px;line-height:1;width:21px;text-align:center;color:#a59cdd}.nav-btn:hover{background:#23284277;color:#fff}.nav-btn.active{background:linear-gradient(100deg,#6a45c455,#a1389760);border-color:#7c57b655;color:#fff}.nav-footer{margin-top:auto;padding:12px 9px 1px;border-top:1px solid #343852;margin-top:auto}.signed-as{font-size:11px;color:#838fae;line-height:1.5;overflow-wrap:anywhere;margin:9px 0}.role-pill{display:inline-flex;color:#dfc9ff;background:#653ea644;border:1px solid #9b78cd55;padding:6px 10px;border-radius:99px;font-size:11px;font-weight:750}
.main{min-width:0;min-height:100vh;background:radial-gradient(circle at 60% -10%,#3b20654a,transparent 35%),#0b0f1b}.topbar{position:sticky;top:0;z-index:15;background:#0f1425e0;backdrop-filter:blur(22px);border-bottom:1px solid #252d45;min-height:74px;padding:12px clamp(15px,3vw,34px);display:flex;align-items:center;justify-content:space-between;gap:13px}.topbar .breadcrumbs{font-size:11px;font-weight:850;color:#a496e5;letter-spacing:.12em;text-transform:uppercase}.topbar h1{font-size:23px;margin:3px 0 0;letter-spacing:-.04em}.topbar-right{display:flex;align-items:center;gap:10px}.topbar-date{font-size:12px;color:#acb4d2;background:#171e33;border:1px solid #293251;border-radius:12px;padding:10px 12px}.mobile-menu{display:none}.page{padding:clamp(17px,3vw,31px);max-width:1650px;margin:auto}.hello{margin-bottom:22px}.hello h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.05em;margin:0 0 4px}.hello p{color:var(--muted);font-size:13px;margin:0}.grid{display:grid;gap:14px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:19px}.card{background:linear-gradient(145deg,#171e34,#111728);border:1px solid #2a344f;border-radius:var(--radius);box-shadow:0 8px 25px #00000018}.card-pad{padding:21px}.metric{min-height:130px;padding:19px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.metric:after{content:'';position:absolute;right:-45px;bottom:-62px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,#7845d745,transparent 70%)}.metric .stat-name{font-size:12px;color:#b4bfdc}.metric .stat-value{font-size:28px;font-weight:850;letter-spacing:-.05em;margin-top:13px}.metric .stat-sub{font-size:11px;color:#8695bf;margin-top:4px}.metric .mini-icon{color:#cdb9ff;background:#51418a55;border-radius:11px;padding:9px 11px;display:inline-flex;font-size:18px;align-self:flex-start}.metric-row{display:flex;justify-content:space-between;align-items:flex-start}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.section-head h3{font-size:16px;margin:0 0 4px;letter-spacing:-.03em}.section-head p{font-size:12px;color:var(--muted);margin:0}.section-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.gap-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-bottom:18px}.stack{display:grid;gap:12px}.divider{border:0;border-top:1px solid #323850;margin:17px 0}.info-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #262f48;font-size:13px}.info-row:last-child{border:0}.badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:850;border-radius:99px;padding:7px 10px;color:#adbbd7;background:#333a52}.badge:before{content:'';height:7px;width:7px;border-radius:99px;background:currentColor}.badge.on{background:#1a453e;color:#68eac2}.badge.pause{background:#594422;color:#fbd184}.badge.off{background:#313650;color:#aab2d1}.badge.paid{background:#243e5e;color:#8dc5ff}.people-list{display:grid;gap:10px}.person-line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-radius:15px;background:#161d33;border:1px solid #293250;flex-wrap:wrap}.identity{display:flex;align-items:center;gap:11px;min-width:0}.identity strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis}.identity small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.avatar{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:14px;background:linear-gradient(120deg,#784cbd,#c556a3);color:#fff;font-weight:850;overflow:hidden}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.person-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.person-balance{text-align:right;min-width:85px}.person-balance strong{display:block;font-size:13px}.person-balance small{display:block;font-size:10px;color:var(--muted)}
.board{display:grid;grid-template-columns:repeat(7,minmax(185px,1fr));gap:10px;overflow-x:auto;padding:3px 0 12px;scroll-snap-type:x proximity}.day-col{min-height:205px;padding:12px;border-radius:16px;background:#161d32;border:1px solid #313956;scroll-snap-align:start}.day-col.today{border-color:#8e65ce}.day-col.drag-hover{outline:2px dashed #bd82f0;outline-offset:-2px}.day-title{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #303852;padding:3px 2px 13px;font-size:12px}.day-title strong{font-size:12px}.day-title span{font-size:11px;color:#95a1c8}.day-body{display:grid;align-content:start;gap:9px;padding-top:10px;min-height:110px}.shift-chip{border-radius:12px;padding:11px 12px;background:#5a38a7;color:#fff;border-left:3px solid #d7b9ff;cursor:grab}.shift-chip:nth-child(3n+2){background:#a43d89;border-left-color:#ffa3d7}.shift-chip:nth-child(3n){background:#265b9c;border-left-color:#88d1ff}.shift-chip strong{display:block;font-size:12px}.shift-chip small{display:block;color:#eee2ff;margin-top:5px;font-size:11px}.shift-chip[draggable='true']:active{cursor:grabbing}.shift-chip button{color:#fff;background:#ffffff19;border:0;padding:5px 8px;margin-top:8px;border-radius:8px;font-size:11px;cursor:pointer}.weekbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px;flex-wrap:wrap}.empty-state{text-align:center;padding:34px;border:1px dashed #3b4566;border-radius:15px;color:var(--muted);font-size:13px}.empty-state b{color:#e4dafa}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:570px}th,td{text-align:left;padding:13px 11px;border-bottom:1px solid #2b334b;font-size:12px;white-space:nowrap}th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#929fc5}tbody tr:hover{background:#ffffff07}td .btn{margin-right:5px}.money{font-size:14px;font-weight:850;color:#f9e4ff}
.clock-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.clock-card{padding:19px}.timer{font-variant-numeric:tabular-nums;font-size:clamp(27px,3vw,38px);font-weight:900;letter-spacing:-.05em;margin:22px 0 3px}.clock-controls{display:flex;gap:8px;margin-top:17px;flex-wrap:wrap}.clock-controls .btn{flex:1}.clock-sub{font-size:11px;color:#a4aecf}.staff-hero{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}.staff-hero .avatar{width:80px;height:80px;border-radius:24px;font-size:28px}.staff-hero h2{font-size:28px;letter-spacing:-.05em;margin:0 0 5px}.staff-hero p{margin:0;font-size:13px;color:var(--muted)}.staff-clock{text-align:center;padding:27px 22px;margin-top:18px}.staff-clock .timer{font-size:clamp(47px,8vw,74px);margin:18px 0 5px}.staff-clock .badge{margin:0 auto}.staff-clock .clock-controls{max-width:390px;margin:22px auto 0;justify-content:center}.staff-clock .clock-controls .btn{min-height:49px;font-size:14px}.availability-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.avail-slot{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#202a44;border-radius:12px;margin-top:9px}.avail-slot strong{font-size:13px}.avail-day{font-size:12px;color:#c7c0f8;font-weight:780;margin-bottom:6px}.profile-display{max-width:640px}.profile-photo-row{display:flex;align-items:center;gap:18px}.profile-photo-row .avatar{width:76px;height:76px;border-radius:22px;font-size:25px}.help-card{background:#27264a;border:1px solid #5e4c86;border-radius:15px;padding:14px 16px;font-size:12px;color:#d6c8fa;line-height:1.65;margin:16px 0}.photo-upload{display:inline-flex;cursor:pointer}.switch-note{font-size:12px;color:var(--muted)}
#modal:empty{display:none}.modal-shade{position:fixed;z-index:50;inset:0;background:#030512c9;backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px}.modal-box{background:#151b30;border:1px solid #3b4263;border-radius:22px;width:min(540px,100%);max-height:90vh;overflow-y:auto;padding:24px;box-shadow:0 20px 80px #0008}.modal-box h2{font-size:22px;letter-spacing:-.04em;margin:0 0 8px}.modal-desc{font-size:12px;color:#a0abc8;margin:0 0 22px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:21px;flex-wrap:wrap}#toasts{position:fixed;right:20px;bottom:20px;z-index:90;display:grid;gap:9px}.toast{background:#252e48;border:1px solid #505b7b;color:#fff;padding:13px 16px;border-radius:13px;box-shadow:var(--shadow);font-size:13px;max-width:380px}.toast.error{border-color:#d95b79} .menu-overlay{display:none}
@media(max-width:1300px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.clock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gap-layout{grid-template-columns:1fr}.board{grid-template-columns:repeat(7,minmax(185px,1fr))}}
@media(max-width:800px){.auth-wrap{grid-template-columns:1fr}.auth-left{min-height:auto;padding:24px 22px}.auth-left h1{font-size:28px;margin:16px 0 10px}.auth-left p{font-size:12px;line-height:1.5}.auth-pills,.auth-note{display:none!important}.auth-brand img{width:44px;height:44px}.auth-right{padding:25px 16px 34px}.auth-card{padding:25px}.shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;bottom:0;height:100vh;width:262px;transform:translateX(-104%);transition:transform .22s;box-shadow:var(--shadow)}.sidebar.show{transform:translateX(0)}.menu-overlay.show{display:block;position:fixed;inset:0;background:#000a;z-index:22}.mobile-menu{display:inline-flex}.topbar{min-height:69px}.topbar-date{display:none}.page{padding:18px 14px 30px}.stats{gap:9px}.metric{min-height:114px;padding:14px}.metric .stat-value{font-size:24px}.clock-grid{grid-template-columns:1fr}.availability-cards{grid-template-columns:1fr}.staff-hero{gap:11px}.staff-hero .avatar{width:64px;height:64px;border-radius:20px}.staff-hero h2{font-size:22px}.person-line{gap:10px}.person-actions{width:100%;justify-content:flex-start}.board{grid-template-columns:repeat(7,minmax(200px,1fr))}.card-pad{padding:17px}}
@media(max-width:440px){.two-fields{grid-template-columns:1fr}.stat-name{font-size:11px}.metric .stat-value{font-size:21px}.topbar h1{font-size:20px}.topbar-right .role-pill{display:none}.section-head{align-items:flex-start;flex-wrap:wrap}.staff-clock .timer{font-size:51px}.modal-box{padding:20px}.modal-footer .btn{flex:1}.auth-left{display:none}.auth-right{min-height:100vh}.person-balance{margin-left:auto}}

/* GLR Gestão — seleção clara de portal e login administrativo sem e-mail */
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:5px;margin:2px 0 24px}
.auth-tab{padding:11px 8px;border-radius:11px;text-align:center;color:#a6b1d4;text-decoration:none;font-size:13px;font-weight:800;transition:background .18s,color .18s}
.auth-tab:hover{color:white;background:rgba(255,255,255,.055)}
.auth-tab.selected{color:#fff;background:linear-gradient(120deg,#6f42cf,#ae3d99);box-shadow:0 7px 20px rgba(110,61,207,.2)}
.auth-card .hint{margin-bottom:0}

/* GLR Portais separados */
.auth-eyebrow{display:inline-block;color:#ceacff;font-size:11px;font-weight:900;letter-spacing:.15em;margin:10px 0 14px}


/* GLR Gestão — revisão de proporções e alinhamento responsivo / 2026-10-20 */
html{overflow-x:hidden}body{min-width:280px;overflow-x:clip}#app,.shell,.main,.page,.card,.auth-card{min-width:0}
img{max-width:100%}*{scrollbar-color:#333c61 transparent}
:focus-visible{outline:2px solid #b69bff;outline-offset:3px}
.auth-wrap{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-width:0}
.auth-left{padding:clamp(24px,4vw,72px);overflow:hidden}
.auth-brand{gap:0;min-width:0}
.auth-brand img{display:block;width:clamp(150px,16vw,238px);height:auto;object-fit:contain;filter:drop-shadow(0 13px 23px rgba(117,65,226,.2))}
.auth-right{padding:clamp(20px,3.6vw,54px);min-width:0}
.auth-card{width:min(452px,100%);padding:clamp(24px,3vw,40px);overflow:hidden}
.auth-branding{width:100%;display:flex;align-items:center;justify-content:center;margin:0 auto 7px;min-width:0}
.auth-branding img{width:clamp(160px,65%,242px);height:auto;aspect-ratio:343 / 172;object-fit:contain;display:block;filter:drop-shadow(0 14px 23px rgba(153,86,255,.24))}
.auth-eyebrow{display:block;width:100%;text-align:center;color:#d5b4ff;letter-spacing:.13em;font-size:clamp(10px,1.45vw,11px);line-height:1.5;font-weight:850;margin:0 0 13px;white-space:normal;overflow-wrap:anywhere}
.auth-card h2{font-size:clamp(23px,2.8vw,29px);margin:0 0 7px;text-align:center;line-height:1.2}
.auth-card>p:not(.hint){margin:0 auto 26px;max-width:34ch;text-align:center;font-size:13px;line-height:1.55}
.auth-card .hint{font-size:12px;line-height:1.55;text-align:center;overflow-wrap:anywhere}
.auth-card form{width:100%;min-width:0}
.field{min-width:0}.control{width:100%;max-width:100%;min-width:0}
.btn{max-width:100%;line-height:1.3;white-space:normal;text-align:center;overflow-wrap:anywhere}
.auth-card .btn-block{min-height:48px}
.shell{grid-template-columns:246px minmax(0,1fr)}
.sidebar{padding:17px 12px}
.brand{min-width:0;display:flex;align-items:center;gap:10px;padding:7px 8px 22px}
.brand img{width:76px;height:49px;object-fit:contain;display:block;flex:0 0 76px}
.brand>div{min-width:0}.brand strong{line-height:1.25;font-size:15px;overflow-wrap:anywhere}.brand small{line-height:1.25;display:block;font-size:10px}
.topbar{padding:11px clamp(16px,2.4vw,30px);min-width:0}
.topbar>div{min-width:0}.topbar h1{line-height:1.25;overflow-wrap:anywhere}
.topbar .breadcrumbs{font-size:10px;letter-spacing:.1em}
.page{width:100%;max-width:1550px;padding:clamp(15px,2.4vw,30px)}
.hello h2{line-height:1.16;overflow-wrap:anywhere}
.stats,.clock-grid,.gap-layout,.availability-cards{min-width:0}
.stats>* ,.clock-grid>* ,.gap-layout>* ,.availability-cards>*{min-width:0}
.section-head>div{min-width:0}.section-head p{line-height:1.5}
.section-actions{max-width:100%}
.person-line{min-width:0}.identity{flex:1 1 210px}.identity>div{min-width:0}.identity strong,.identity small{white-space:normal;overflow-wrap:anywhere}
.person-balance{flex:0 0 auto}.person-actions{flex:1 1 250px;justify-content:flex-end}
.board{max-width:100%;overscroll-behavior-x:contain;scroll-padding-inline:12px}
.clock-controls .btn{min-width:0}
.staff-clock .timer{overflow-wrap:anywhere;line-height:1.08}
.staff-hero{min-width:0;grid-template-columns:auto minmax(0,1fr)}
.staff-hero h2{overflow-wrap:anywhere;line-height:1.15}
.profile-photo-row{flex-wrap:wrap}.profile-photo-row>div{min-width:0;overflow-wrap:anywhere}
.avail-slot{min-width:0;flex-wrap:wrap}.avail-slot strong{white-space:normal}
.info-row{min-width:0}.info-row>*{min-width:0;overflow-wrap:anywhere}.info-row strong,.info-row b{text-align:right}
.table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.modal-box{max-width:calc(100vw - 28px);overflow-wrap:anywhere}
#toasts{max-width:calc(100vw - 28px)}.toast{max-width:100%;overflow-wrap:anywhere}
.loading-card{padding:18px}.loading-card img{width:180px;height:90px;object-fit:contain}
@media(max-width:1150px){.shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:14px 10px}.brand img{width:68px;flex-basis:68px}.brand strong{font-size:14px}.nav-btn{font-size:12px;padding:11px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
 .auth-wrap{grid-template-columns:1fr;min-height:100svh}
 .auth-left{min-height:auto;padding:21px 24px 12px;background:transparent;border:0;display:none}
 .auth-right{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:clamp(18px,5vw,32px) 16px}
 .auth-card{width:min(460px,100%);padding:clamp(21px,5vw,32px);border-radius:24px}
 .auth-branding img{width:clamp(160px,63%,222px)}
 .shell{grid-template-columns:minmax(0,1fr)}
 .sidebar{width:min(285px,84vw);padding:16px 12px;max-height:100dvh;overflow-y:auto}
 .topbar{min-height:68px;gap:10px}.topbar h1{font-size:clamp(18px,4.3vw,23px)}
 .page{padding:17px 14px 32px}
 .gap-layout{grid-template-columns:minmax(0,1fr)}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .clock-grid,.availability-cards{grid-template-columns:minmax(0,1fr)}
 .card-pad{padding:clamp(14px,3vw,20px)}
 .person-actions{justify-content:flex-start}
 .board{grid-template-columns:repeat(7,minmax(172px,1fr))}
}
@media(max-width:440px){
 .auth-left{display:none}
 .auth-right{padding:16px 14px;min-height:100svh}
 .auth-card{padding:25px 19px;box-shadow:0 18px 48px rgba(0,0,0,.3);border-radius:22px}
 .auth-branding img{width:min(210px,77%)}
 .auth-eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:13px}
 .auth-card h2{font-size:24px}
 .auth-card>p:not(.hint){font-size:12px;margin-bottom:20px}
 .auth-card .hint{font-size:11px}
 .topbar{padding:12px 13px}
 .topbar-right .role-pill{display:none}
 .topbar h1{font-size:19px}
 .page{padding:16px 12px 30px}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .metric{padding:14px 12px;min-height:116px}
 .metric .stat-value{font-size:clamp(18px,5vw,24px)}
 .metric .stat-sub{font-size:10px}
 .staff-hero{gap:10px}
 .staff-hero .avatar{height:57px;width:57px;border-radius:17px}
 .staff-hero h2{font-size:clamp(18px,5.5vw,22px)}
 .staff-clock{padding:23px 12px}
 .staff-clock .timer{font-size:clamp(38px,12vw,54px)}
 .staff-clock .clock-controls{flex-direction:column;margin:17px auto 0}
 .staff-clock .clock-controls .btn{width:100%;flex:auto}
 .section-head{gap:11px;align-items:flex-start;flex-direction:column}
 .section-actions{width:100%;justify-content:flex-start}
 .section-actions .btn{flex:0 1 auto}
 .person-line{gap:12px;padding:12px}
 .person-balance{margin-left:0;text-align:left}
 .person-actions{width:100%}
 .person-actions .btn{flex:1 1 120px}
 .modal-box{padding:19px 16px}
 .modal-footer .btn{flex:1 1 130px}
}
@media(max-width:345px){
 .auth-right{padding:12px 10px}.auth-card{padding:21px 15px}
 .auth-branding img{width:175px}
 .topbar h1{font-size:18px}
 .topbar .breadcrumbs{font-size:9px}
 .page{padding:14px 9px 25px}
 .metric{min-height:110px;padding:12px 10px}
 .metric .stat-value{font-size:17px}
 .staff-clock .timer{font-size:36px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}


/* GLR Gestão v7: marca com escala equilibrada, sem alterar a arte original */
.auth-brand img{width:clamp(155px,15vw,200px);height:auto;max-width:100%;aspect-ratio:auto;object-fit:contain}
.auth-branding img{width:clamp(160px,48%,202px);max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.auth-branding{margin-bottom:6px}
.auth-card{overflow:hidden}
.brand{gap:10px}
.brand img{width:70px;height:auto;aspect-ratio:auto;flex:0 0 70px;max-height:52px;object-fit:contain}
.brand strong{font-size:15px}
.brand small{font-size:11px}
.loading-card img{width:min(170px,54vw);height:auto;object-fit:contain}
.avail-manager-row{display:flex;justify-content:space-between;align-items:center;gap:13px;padding:11px 0;border-bottom:1px solid var(--line)}
.avail-manager-time{display:flex;flex-direction:column;gap:3px;min-width:0}
.avail-manager-time span{color:var(--muted);font-size:12px}
.avail-manager-time strong{font-size:14px}
.avail-manager-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.availability-add-person{margin-top:15px;width:100%}
@media(max-width:1150px){.brand img{width:67px;flex-basis:67px;max-height:50px}.brand strong{font-size:14px}.brand small{font-size:10px}}
@media(max-width:800px){.auth-branding img{width:min(195px,64%)}.brand img{width:70px;flex-basis:70px;max-height:53px}}
@media(max-width:440px){.auth-branding img{width:min(184px,64%)}.auth-card{overflow:hidden}.avail-manager-row{align-items:flex-start;flex-direction:column}.avail-manager-actions{width:100%}.avail-manager-actions .btn{flex:1 1 94px}}
@media(max-width:345px){.auth-branding img{width:min(170px,66%)}}
