/* Identidade Luz e Vida: laranja 1575 C #F58634, terracota #A45E4D, papel #FFF9F2, tinta #1A1614 */
:root{--bg:#FFF9F2;--panel:#fff;--fg:#1A1614;--muted:#7C7168;--line:#EADFD2;--laranja:#F58634;--terra:#A45E4D;
--ok:#2E6B45;--ok-bg:#DDEBDD;--warn:#8A6410;--warn-bg:#F7E6B8;--bad:#A32B22;--bad-bg:#F6D3CE;--off:#E6DFD6;--off-fg:#8C8277;
--f-d:'Oswald','Archivo Narrow',Impact,sans-serif;--f-b:'Poppins',-apple-system,'Segoe UI',sans-serif;--f-m:'IBM Plex Mono',ui-monospace,monospace}
@media (prefers-color-scheme:dark){:root{--bg:#110E0C;--panel:#1C1816;--fg:#F6EDE2;--muted:#A89B8E;--line:#352E29;--ok:#7CC293;--ok-bg:#1F3526;--warn:#E8C063;--warn-bg:#40330F;--bad:#F08A80;--bad-bg:#44201C;--off:#2A2521;--off-fg:#8C8277;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.55 var(--f-b)}
a{color:var(--terra)}
.top{display:flex;align-items:center;justify-content:space-between;padding:12px max(16px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg)}
.brand img{height:34px;width:auto}.brand span{font:500 18px var(--f-d);letter-spacing:.12em;color:var(--terra)}
.menu-btn{display:none;font:500 14px var(--f-b);border:1px solid var(--line);background:var(--panel);color:var(--fg);border-radius:8px;padding:6px 12px}
.nav{display:flex;flex-wrap:wrap;gap:4px 6px;padding:8px max(16px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line);background:var(--panel)}
.nav a{padding:5px 10px;border-radius:999px;text-decoration:none;color:var(--fg);font-size:13.5px}
.nav a[aria-current=page]{background:var(--laranja);color:#1A1614;font-weight:600}
.nav a:hover{background:var(--line)}.nav .sep{flex-basis:100%;height:0}.nav .sep:not(:empty){flex-basis:auto;font:500 12px var(--f-d);letter-spacing:.1em;text-transform:uppercase;color:var(--terra);padding:5px 6px}
@media(max-width:760px){.menu-btn{display:block}.nav{display:none}.nav.open{display:flex}}
.page{max-width:1080px;margin:0 auto;padding:22px max(16px,env(safe-area-inset-left,0px)) 60px}
h1{font:500 30px var(--f-d);letter-spacing:.03em;text-transform:uppercase;margin:0 0 16px}
h2{font:500 20px var(--f-d);letter-spacing:.04em;text-transform:uppercase;margin:26px 0 10px;color:var(--terra)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px;min-width:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:13.5px}
th{font:500 12px var(--f-d);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;padding:8px;border-bottom:2px solid var(--laranja);white-space:nowrap}
td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
.mono{font-family:var(--f-m);font-size:12.5px}
.btn,button.btn{display:inline-block;background:var(--laranja);color:#1A1614;border:0;border-radius:8px;padding:9px 16px;font:600 14px var(--f-b);cursor:pointer;text-decoration:none}
.btn.sec{background:transparent;border:1px solid var(--line);color:var(--fg)}.btn.bad{background:var(--bad);color:#fff}.btn.sm{padding:5px 10px;font-size:12.5px}
input,select,textarea{font:inherit;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px;max-width:100%;width:100%}
input[type=checkbox],input[type=radio]{width:auto}
label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}
form.inline{display:inline}
.row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.flash{padding:10px 14px;border-radius:8px;margin-bottom:12px;font-weight:500}
.flash.ok{background:var(--ok-bg);color:var(--ok)}.flash.warn{background:var(--warn-bg);color:var(--warn)}.flash.bad{background:var(--bad-bg);color:var(--bad)}
.tag{display:inline-block;border-radius:999px;padding:1px 10px;font:500 12px var(--f-b)}
.tag.ok{background:var(--ok-bg);color:var(--ok)}.tag.w{background:var(--warn-bg);color:var(--warn)}.tag.b{background:var(--bad-bg);color:var(--bad)}.tag.o{background:var(--off);color:var(--off-fg)}
.aviso-folga{background:var(--laranja);color:#1A1614;border-radius:12px;padding:14px 18px;font-weight:600;margin-bottom:16px}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.week div{border-radius:8px;padding:8px 2px;text-align:center;font:12px var(--f-m);background:var(--ok-bg);color:var(--ok)}
.week div b{display:block;font:500 11px var(--f-d);letter-spacing:.05em;text-transform:uppercase;margin-bottom:2px}
.week .f{background:var(--terra);color:#fff;font-family:var(--f-b);font-weight:600}.week .f b{color:#fff}
.muted{color:var(--muted)}.small{font-size:12.5px}
.warnlist{margin:6px 0 0;padding-left:18px;color:var(--warn);font-size:13px}
.login{max-width:380px;margin:40px auto}.login img{height:60px;display:block;margin:0 auto 18px}
.dayed{display:grid;grid-template-columns:90px 1fr 1fr 70px;gap:8px;align-items:center;margin-bottom:6px}
@media(max-width:560px){.dayed{grid-template-columns:70px 1fr 1fr 60px}.page{padding-top:14px}h1{font-size:25px}}

/* celular: atalhos, tabelas com 1ª coluna fixa, botões de arquivo */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0 0 16px}
.tile{display:block;padding:16px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);text-decoration:none;color:var(--fg);font-weight:600;min-height:64px}
.tile small{display:block;font-weight:400;color:var(--muted);margin-top:3px;font-size:12.5px}
.tile:active{background:var(--line)}
.filebtns{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.filebtns .btn{cursor:pointer}
.mes th,.mes td{padding:6px 4px;text-align:center}.mes td:first-child,.mes th:first-child{text-align:left;white-space:nowrap}
.mes input[type=checkbox]{width:22px;height:22px}
.mes .tag{display:block;margin:2px auto 0;font-size:10px;padding:1px 5px;width:max-content}
@media(max-width:760px){
  .scroll td:first-child,.scroll th:first-child{position:sticky;left:0;background:var(--panel);z-index:1;box-shadow:1px 0 0 var(--line)}
  .scroll td:first-child{max-width:120px;font-size:13px}
  .btn{min-height:44px}
  input,select,textarea{font-size:16px}
}

/* ==== Visual "fluido": cartões grandes e arredondados, botões em pílula, respiro, movimento suave ==== */
:root{--r-lg:26px;--r-md:18px;--r-sm:12px;--sh:0 1px 2px rgba(164,94,77,.06),0 12px 32px -12px rgba(164,94,77,.18);--sh-hi:0 2px 4px rgba(164,94,77,.08),0 22px 44px -14px rgba(245,134,52,.35);--ease:cubic-bezier(.2,.7,.2,1)}
@media (prefers-color-scheme:dark){:root{--sh:0 1px 2px rgba(0,0,0,.4),0 12px 32px -12px rgba(0,0,0,.6);--sh-hi:0 22px 44px -14px rgba(245,134,52,.3)}}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:
  radial-gradient(900px 480px at 92% -8%,rgba(245,134,52,.16),transparent 62%),
  radial-gradient(700px 420px at -6% 8%,rgba(198,164,122,.18),transparent 60%),var(--bg);
  background-attachment:fixed;font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{transition:color .2s var(--ease)}
:focus-visible{outline:3px solid rgba(245,134,52,.55);outline-offset:2px;border-radius:8px}
.top{position:sticky;top:0;z-index:20;padding:14px max(20px,env(safe-area-inset-left,0px));background:rgba(255,249,242,.78);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(234,223,210,.7)}
@media (prefers-color-scheme:dark){.top{background:rgba(17,14,12,.78)}}
.brand img{height:38px}
.brand span{font:600 13px var(--f-b);letter-spacing:.18em;color:var(--terra);background:rgba(164,94,77,.1);padding:4px 10px;border-radius:999px}
.menu-btn{border-radius:999px;padding:9px 18px;font-weight:600;box-shadow:var(--sh);transition:transform .2s var(--ease)}
.menu-btn:active{transform:scale(.96)}
.nav{background:transparent;border:0;padding:12px max(20px,env(safe-area-inset-left,0px)) 0;max-width:1180px;margin:0 auto;gap:6px}
.nav a{padding:8px 15px;font-weight:500;color:var(--muted);transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.nav a:hover{background:rgba(245,134,52,.14);color:var(--fg)}
.nav a[aria-current=page]{background:var(--fg);color:#fff;box-shadow:0 8px 18px -8px rgba(26,22,20,.5)}
@media (prefers-color-scheme:dark){.nav a[aria-current=page]{background:var(--laranja);color:#1A1614}}
.nav .sep:not(:empty){font:600 11px var(--f-b);letter-spacing:.16em;margin-left:8px}
@media(max-width:760px){.nav{position:absolute;left:12px;right:12px;top:66px;z-index:30;flex-direction:column;align-items:stretch;gap:2px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-hi);max-height:calc(100vh - 90px);overflow:auto}
  .nav a{padding:13px 16px;font-size:15px;color:var(--fg)}.nav .sep:not(:empty){padding:12px 16px 4px}.nav .sep:empty{display:none}}
.page{max-width:1180px;padding:34px max(20px,env(safe-area-inset-left,0px)) 80px;animation:subir .55s var(--ease) both}
@keyframes subir{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.page{animation:none}*{transition:none!important}html{scroll-behavior:auto}}
h1{font:600 clamp(30px,5.4vw,46px)/1.08 var(--f-b);letter-spacing:-.025em;text-transform:none;margin:0 0 22px;text-wrap:balance}
h2{font:600 clamp(19px,3vw,24px)/1.2 var(--f-b);letter-spacing:-.015em;text-transform:none;color:var(--fg);margin:34px 0 14px}
h2::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--laranja);margin-right:10px;vertical-align:1px}
h3{font:600 16px var(--f-b)}
.card{border:0;border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh);margin-bottom:18px}
@media(max-width:560px){.card{padding:18px;border-radius:22px}}
.grid{gap:18px}
.tiles{grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:14px;margin-bottom:22px}
.tile{position:relative;display:flex;flex-direction:column;gap:2px;border:0;border-radius:var(--r-lg);padding:20px;min-height:132px;box-shadow:var(--sh);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.tile:hover{transform:translateY(-4px);box-shadow:var(--sh-hi)}
.tile:active{transform:scale(.98);background:var(--panel)}
.tile .ico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(245,134,52,.16);color:var(--laranja);margin-bottom:auto;transition:background .3s var(--ease),color .3s var(--ease)}
.tile:hover .ico{background:var(--laranja);color:#1A1614}
.tile .tt{font-weight:600;font-size:16px;margin-top:18px;letter-spacing:-.01em}
.tile small{margin:0}
.tile::after{content:"→";position:absolute;right:18px;top:18px;color:var(--muted);opacity:0;transform:translateX(-6px);transition:all .3s var(--ease)}
.tile:hover::after{opacity:1;transform:none}
.btn,button.btn{border-radius:999px;padding:12px 24px;font-weight:600;letter-spacing:-.005em;box-shadow:0 10px 22px -10px rgba(245,134,52,.7);transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 28px -10px rgba(245,134,52,.8)}
.btn:active{transform:scale(.97)}
.btn.sec{background:var(--panel);border:1px solid var(--line);box-shadow:none}.btn.sec:hover{border-color:var(--laranja);box-shadow:var(--sh)}
.btn.bad{box-shadow:0 10px 22px -10px rgba(163,43,34,.6)}
.btn.sm{padding:7px 15px;font-size:13px}
input,select,textarea{border-radius:var(--r-sm);padding:12px 14px;border:1.5px solid var(--line);background:var(--panel);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--laranja);box-shadow:0 0 0 4px rgba(245,134,52,.18)}
input[type=checkbox]{accent-color:var(--laranja);width:18px;height:18px}
label{font-weight:500;margin:14px 0 6px}
table{font-size:14px}
th{font:600 11.5px var(--f-b);letter-spacing:.1em;border-bottom:2px solid rgba(245,134,52,.55);padding:10px 10px}
td{padding:12px 10px;border-bottom:1px solid rgba(234,223,210,.7)}
tr:hover td{background:rgba(245,134,52,.05)}
.tag{padding:3px 12px;font-weight:600}
.flash{border-radius:var(--r-md);padding:14px 18px;box-shadow:var(--sh);animation:subir .4s var(--ease) both}
.aviso-folga{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:22px 26px;font-size:16px;line-height:1.5;box-shadow:var(--sh-hi);background:linear-gradient(135deg,#F58634 0%,#F7A25C 100%)}
.aviso-folga::after{content:"";position:absolute;right:-50px;top:-50px;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.2)}
.week{gap:8px}
.week div{border-radius:var(--r-sm);padding:12px 2px;font-size:12.5px;transition:transform .25s var(--ease)}
.week div:hover{transform:translateY(-3px)}
.week div b{font:600 11px var(--f-b);letter-spacing:.08em}
.week .f{background:linear-gradient(160deg,var(--terra),#8C4D3E)}
.login{max-width:430px;margin-top:8vh}
.login.card{padding:34px 30px;border-radius:32px;box-shadow:var(--sh-hi)}
.login img{height:72px}
.mes th,.mes td{padding:7px 5px}
.mes tr:hover td{background:transparent}
.filebtns .btn{box-shadow:none}
.dayed input{padding:10px}
@media(max-width:760px){.scroll td:first-child,.scroll th:first-child{box-shadow:6px 0 8px -6px rgba(164,94,77,.25)}}
