:root{--bg:#f3f5f7;--surface:#fff;--ink:#193448;--dim:#556c7b;--line:#dce4e9;--brand:#184c52;--soft:#e8f1f0;--danger:#a32630;--radius:10px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:16px;line-height:1.5;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,.button{padding:9px 15px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;font-size:.9rem}button:hover,.button:hover{background:var(--soft)}button.primary,.button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bc8b35;outline-offset:2px}input,select,textarea{padding:10px;width:100%;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);min-width:0}textarea{resize:vertical;min-height:80px}label{display:grid;gap:6px;color:var(--dim);font-size:.9rem}label.check{display:flex;align-items:center;gap:8px;color:var(--ink)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--brand)}h1{font-size:1.75rem;font-weight:500;margin:0 0 8px;line-height:1.2}h2{font-size:1.4rem;font-weight:500;margin:0 0 8px}h3{font-size:1rem;font-weight:500;margin:0 0 12px}p{margin:5px 0 16px;color:var(--dim)}small,.small{font-size:.8rem;color:var(--dim)}strong{font-weight:600}.loading{padding:50px;text-align:center}.login{max-width:900px;margin:7vh auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.welcome{background:var(--brand);color:#fff;padding:44px 35px;display:flex;flex-direction:column;justify-content:space-between;gap:55px}.welcome p{color:#e0eeef}.brand{font-size:1.4rem;font-weight:600;letter-spacing:.025em}.stores{display:flex;gap:10px;flex-wrap:wrap;font-size:.8rem}.signin{padding:35px;display:grid;gap:16px}.signin h2{margin-top:10px}.badge{display:inline-block;padding:3px 8px;border-radius:5px;background:var(--soft);color:var(--brand);font-size:.8rem}.shell{min-height:100vh}.topbar{padding:17px 25px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}.userline{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.body{display:grid;grid-template-columns:215px minmax(0,1fr)}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:20px 12px;min-height:calc(100vh - 90px)}.sidebar button{display:flex;width:100%;text-align:left;justify-content:flex-start;border:0;background:transparent;margin:4px 0;font-size:.9rem}.sidebar button.active{background:var(--soft);color:var(--brand);font-weight:600}.sidebar .small{padding:10px 12px}.content{padding:28px;min-width:0;max-width:1600px;width:100%;margin:0 auto}.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:20px}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.filters label{min-width:150px;max-width:270px;flex:1}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0}.stat,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.stat span{color:var(--dim);font-size:.9rem}.stat strong{display:block;font-size:1.7rem;font-weight:500;margin:7px 0 2px;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.9rem}th{color:var(--dim);font-weight:500;white-space:nowrap;padding:12px 10px;border-bottom:1px solid var(--line)}td{padding:14px 10px;border-bottom:1px solid var(--line);max-width:350px;overflow-wrap:anywhere}tr:last-child td{border-bottom:0}td.actions{min-width:130px}.status{padding:4px 7px;background:var(--soft);color:var(--brand);border-radius:5px;display:inline-block;white-space:nowrap;font-size:.85rem}.status.warn{background:#fff0cd;color:#785217}.status.error{background:#fce5e7;color:var(--danger)}.empty{text-align:center;padding:45px 15px;color:var(--dim)}.error-message{color:var(--danger);background:#fce5e7;padding:12px;border-radius:7px;white-space:pre-wrap}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.footer-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:20px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.span{grid-column:1/-1}fieldset{border:0;padding:0;margin:20px 0}legend{font-weight:600;font-size:.95rem;margin-bottom:12px;width:100%;border-bottom:1px solid var(--line);padding-bottom:7px}dialog{border:1px solid var(--line);padding:25px;border-radius:12px;width:min(940px,calc(100% - 28px));max-height:88vh;color:var(--ink);background:var(--surface);overflow:auto}dialog::backdrop{background:#19344899}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:18px}.dialog-head button{flex-shrink:0}.item-row{border-top:1px solid var(--line);padding:15px 0;display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px;align-items:end}.item-row .check{grid-column:1/-1}.notice{background:var(--soft);padding:12px;border-radius:7px;color:var(--brand);font-size:.9rem;margin-bottom:15px}.permission-row{display:grid;grid-template-columns:1fr 180px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}dl{margin:0}dt{font-size:.85rem;color:var(--dim)}dd{margin:3px 0 15px;white-space:pre-wrap;overflow-wrap:anywhere}.print-view{background:#fff;padding:20px;color:#193448}.print-view td,.print-view th{font-size:1rem}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:min(700px,calc(100% - 32px));padding:15px 20px;background:var(--brand);color:#fff;border-radius:9px;box-shadow:0 5px 25px #19344833;z-index:100}.print-only{display:none}.pagination{padding-top:15px;display:flex;gap:10px;justify-content:flex-end}.subtle{border:0;background:transparent;padding:4px;min-height:32px;color:var(--brand)}.hint{font-size:.8rem;margin-top:9px;color:var(--dim)}.help-steps li{margin:12px 0}.negative{color:var(--danger)}
@media(max-width:850px){.body{grid-template-columns:1fr}.sidebar{min-height:0;border-right:0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;padding:10px;gap:5px}.sidebar button{width:auto;margin:0;padding:8px;font-size:.85rem}.sidebar .small{display:none}.content{padding:20px}.cards{grid-template-columns:1fr}.login{margin:20px;grid-template-columns:1fr}.welcome{padding:28px;gap:20px}.item-row{grid-template-columns:repeat(2,minmax(0,1fr))}.item-row label:first-child{grid-column:1/-1}}
@media(max-width:500px){.grid{grid-template-columns:1fr}.span{grid-column:auto}.topbar{padding:15px}.brand{font-size:1.2rem}.signin{padding:25px}.content{padding:15px}.permission-row{grid-template-columns:1fr 140px}.panel{padding:15px}button,.button{min-height:44px}dialog{padding:17px}}
@media print{body{background:#fff}.shell,dialog .dialog-head,dialog .footer-actions,#toast{display:none!important}dialog:has(.print-view){position:static;display:block;border:0;padding:0;margin:0;max-height:none;width:100%}dialog::backdrop{display:none}.print-view{padding:0}.print-only{display:block}@page{size:A4 portrait;margin:12mm}}

.status.ready{background:#c9f4ce;color:#185c27}.status.delivered{background:#176b34;color:#fff}.status.production{background:#b4232a;color:#fff}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.item-total{display:block;font-weight:600;padding:10px;background:#edf4f3;border-radius:7px}.sale-total{font-size:1.25rem;font-weight:600;text-align:right}.item-row{grid-template-columns:2fr 1fr 1fr 1fr auto 1fr}@media(max-width:650px){.recipe-grid{grid-template-columns:1fr}.item-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep order identifiers and amounts readable in narrow panels. */
.table-wrap table{width:max-content;min-width:100%}.table-wrap td{overflow-wrap:normal;word-break:normal;white-space:nowrap}.table-wrap td.actions{display:table-cell}.table-wrap td.actions button+button{margin-left:8px}

/* Keep OD and OE beside each other in clinical forms. */
#entity-form .eye-pair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.daily-notifications{margin:20px 0}.notification-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}.notification-row{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:12px 0;border-bottom:1px solid var(--line)}

/* Soft clinic palette, limited to the screen so printed prescriptions stay clean. */
@media screen {
:root{--bg:#f0f7f7;--line:#d3e5e4;--brand:#236b70;--soft:#e4f2ef;--dim:#486772}
body{background:linear-gradient(135deg,#eef7f5 0%,#f3f7fc 100%)}
.topbar{background:linear-gradient(100deg,#f6fbfa,#e8f4f2);border-bottom:3px solid #aacfc8}
.brand{color:#205f67}
.sidebar{background:#f8fcfb}
.sidebar button.active{background:#dcefeb;box-shadow:inset 3px 0 #4d9291}
.heading h1,.dialog-head h2{color:#245e69}
.panel,.stat{box-shadow:0 3px 12px #285d6810}
.stat{border-top:3px solid #8fc4b8;background:#f8fcfa}
.stat:nth-child(2){border-top-color:#9bbfd9;background:#f8fbfe}
.stat:nth-child(3){border-top-color:#b9b2d0;background:#fbfafe}
.stat strong{color:#245e69}
.table-wrap thead{background:#edf5f6}
.table-wrap tbody tr:hover{background:#f2f9f8}
#entity-form fieldset{background:#f7fbfa;border:1px solid #e0edeb;border-radius:9px;padding:16px}
#entity-form legend{color:#286b70;background:#e9f4f1;border:1px solid #d6e9e4;border-radius:7px;padding:7px 12px;width:auto;max-width:100%}
.integrated-prescription{background:#f5f9fd;border-color:#d8e5ef;border-top:3px solid #9bbfd9}
.integrated-prescription h3{color:#305f80}
#entity-form .integrated-prescription fieldset{background:#fafcfe;border-color:#e0eaf2}
#entity-form .integrated-prescription legend{background:#eaf2fa;border-color:#d7e5f1;color:#305f80}
#return-toggle{background:#edf4fa;border-color:#b8d1e3;color:#315f80}
#return-fields{background:#f6f9fd;border-color:#d8e5f0}
input:focus,select:focus,textarea:focus{border-color:#6ca9a5}
.daily-notifications>h3{color:#286b70}
.notification-grid>section{background:#f5faf8;border:1px solid #e0eeea;border-radius:9px;padding:15px}
.notification-grid>section:nth-child(2){background:#fffaf1;border-color:#eee3cb}
.notification-grid>section:nth-child(3){background:#f3f8fc;border-color:#dde8f0}
}

@media screen {
button,.button{border:1px solid #c3dad7;border-top-color:#91bbb5;border-radius:9px;box-shadow:inset 0 1px 0 #ffffffcc,0 1px 3px #285d6810}
button:hover,.button:hover{border-color:#8eb8b3;border-top-color:#6fa49d}
button.primary,.button.primary{border-color:#397c80;border-top-color:#7badaa;box-shadow:inset 0 1px 0 #ffffff26,0 2px 4px #285d6818}
.sidebar button{border:1px solid transparent;box-shadow:none}
.sidebar button.active{border-color:#c5dfd8;border-top-color:#9cc7bc;box-shadow:inset 3px 0 #4d9291,inset 0 1px 0 #ffffff99}
button.subtle{border-color:transparent;box-shadow:none}
}

@media screen{.sale-customer{background:#f5faf8;border-top:3px solid #9fc9b9;margin:20px 0}.sale-customer>label{margin:12px 0}.sale-customer h3{color:#286b70}.purchase-history{border:1px solid #d6e7e3;border-radius:8px;background:#fff;padding:12px;margin:10px 0}.purchase-history summary{cursor:pointer;color:#286b70;font-weight:600}.purchase-history p{margin-top:10px}}

.sale-discount{max-width:320px;margin:20px 0 10px auto}

.receipt-section{margin:20px 0;background:#f3faf7;border-top:3px solid #9fc9b9}.receipt-row{display:flex;align-items:flex-start;flex-direction:column;gap:9px;padding:15px 0;border-bottom:1px solid var(--line)}.receipt-row:last-child{border-bottom:0}

.lab-ok{font-weight:700;min-width:64px;border-width:1px}.lab-ok.pending{background:#be2835;border-color:#a51e2a;color:#fff}.lab-ok.complete{background:#22834e;border-color:#18663b;color:#fff}.lab-ok:disabled{cursor:default;opacity:1}

/* Palette inspired by the Rayssa appointment calendar. */
@media screen {
:root{--bg:#f3f6fb;--surface:#fff;--ink:#162946;--dim:#627184;--line:#dfe6f1;--brand:#1558bf;--soft:#eef4ff;--radius:14px}
body{background:#f3f6fb}
.topbar{background:#fff;border-bottom:1px solid #dfe6f1}
.brand{color:#162946}
.sidebar{background:#fff;border-color:#dfe6f1}
.sidebar button{color:#314966;border-radius:10px}
.sidebar button:hover{background:#f0f5fd}
.sidebar button.active{background:#eef4ff;color:#17498e;border-color:#b9cfee;box-shadow:inset 3px 0 #1558bf}
.heading h1,.dialog-head h2{color:#162946;font-weight:600}
button,.button{border-color:#cfdaea;border-top-color:#cfdaea;box-shadow:0 1px 3px #1629460a;border-radius:10px}
button:hover,.button:hover{border-color:#b9cfee;background:#eef4ff}
button.primary,.button.primary{background:#1558bf;border-color:#1558bf;color:#fff;box-shadow:0 2px 5px #1558bf16}
button.primary:hover,.button.primary:hover{background:#124ca5;border-color:#124ca5}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#98bdf0}
input:focus,select:focus,textarea:focus{border-color:#82abe4}
.badge{background:#eef4ff;color:#17498e}
.panel,.stat{box-shadow:0 2px 8px #16294606}
.stat{background:#fffcf2;border-top:3px solid #b28c3b}.stat strong{color:#88681d}
.stat:nth-child(2){background:#f5faff;border-top-color:#2866b7}.stat:nth-child(2) strong{color:#1558bf}
.stat:nth-child(3){background:#fbf8ff;border-top-color:#7953ab}.stat:nth-child(3) strong{color:#6437a6}
.stat:nth-child(4){background:#f4fbf8;border-top-color:#168571}.stat:nth-child(4) strong{color:#087866}
.stat:nth-child(5){background:#fff8f5;border-top-color:#c48364}.stat:nth-child(5) strong{color:#975d44}
.stat:nth-child(6){background:#f4fbf8;border-top-color:#168571}.stat:nth-child(6) strong{color:#087866}
.table-wrap thead{background:#eef4fc}.table-wrap tbody tr:hover{background:#f7faff}
#entity-form fieldset{background:#f8faff;border-color:#dfe6f1}
#entity-form legend{background:#eef4ff;border-color:#d7e4f6;color:#17498e}
.integrated-prescription{background:#f4fbf8;border-color:#d5e9e3;border-top-color:#168571}
.integrated-prescription h3{color:#087866}
#entity-form .integrated-prescription fieldset{background:#f8fcfa;border-color:#dbece6}
#entity-form .integrated-prescription legend{background:#eaf6f1;border-color:#d2e9df;color:#087866}
#return-toggle{background:#f3edfb;border-color:#d9cbed;color:#6437a6}
#return-fields{background:#fbf8ff;border-color:#e5daf1}
.notice{background:#eef4ff;color:#17498e}
.daily-notifications>h3{color:#17498e}
.notification-grid>section{background:#fbf8ff;border-color:#e5daf1}
.notification-grid>section h3{color:#6437a6}
.notification-grid>section:nth-child(2){background:#fffcf2;border-color:#ece2c6}
.notification-grid>section:nth-child(2) h3{color:#88681d}
.notification-grid>section:nth-child(3){background:#f4fbf8;border-color:#d5e9e3}
.notification-grid>section:nth-child(3) h3{color:#087866}
.sale-customer{background:#f4fbf8;border-top-color:#168571}.sale-customer h3,.purchase-history summary{color:#087866}
.receipt-section{background:#f4fbf8;border-top-color:#168571}
.welcome{background:linear-gradient(135deg,#17498e,#1558bf)}.welcome .brand{color:#fff}
.subtle{color:#17498e}
.lab-ok.pending,.lab-ok.pending:hover{background:#be2835;border-color:#a51e2a;color:#fff}
.lab-ok.complete,.lab-ok.complete:hover{background:#22834e;border-color:#18663b;color:#fff}
}

.comparison-chart{margin:18px 0}.comparison-bar{display:grid;grid-template-columns:150px minmax(100px,1fr) 140px;align-items:center;gap:12px;margin:10px 0;font-size:.85rem}.comparison-bar svg{width:100%;height:22px}.comparison-bar strong{text-align:right}@media(max-width:550px){.comparison-bar{grid-template-columns:100px minmax(60px,1fr) 95px;gap:6px;font-size:.75rem}}

.lab-recipe-search{padding:14px;background:#eef4ff;border:1px solid #cfdaea;border-radius:10px}.lab-recipe-search .actions{margin-top:10px}.lab-recipe-preview{width:min(760px,calc(100% - 28px))}.lab-recipe-preview .print-view{padding:0}.lab-recipe-preview h1{font-size:1.3rem}

.lab-delivery-alert{background:#fff0f1;border:2px solid #be2835;color:#a51e2a;padding:14px;border-radius:10px;font-weight:700;font-size:1.1rem}#field-send_previsao{border:2px solid #be2835;color:#a51e2a}

.lab-date-red{color:#b4232a;background:#fff0f1;border-radius:5px;padding:5px 8px;display:inline-block}

.lab-date{border-radius:6px;padding:5px 8px;display:inline-block;font-weight:700}.lab-date-soon{color:#a51e2a;background:#ffe4e7;border:1px solid #e4a8ae}.lab-date-overdue{color:#653393;background:#efe1fa;border:1px solid #c7a7df}.lab-date-future{color:#275d91;background:#e4f2ff;border:1px solid #b7d9f4}.lab-date-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:.85rem;margin-bottom:12px}

button[data-action="send-lab"]:disabled{cursor:default}


/* Store identity: original logo, discreet on screen, no changes to printed recipes. */
@media screen{
 .brand{display:inline-flex;align-items:center;gap:10px}
 .brand::before{content:"";display:block;flex:0 0 34px;width:34px;height:34px;background:url('/logo-rayssa.png') center/contain no-repeat}
 .welcome{position:relative;isolation:isolate;overflow:hidden}
 .welcome::before{content:"";position:absolute;inset:0;background:url('/logo-rayssa.png') center/86% auto no-repeat;opacity:.10;pointer-events:none;z-index:-1}
 .dialog-head::before{content:"";display:block;flex:0 0 28px;width:28px;height:28px;margin-top:2px;background:url('/logo-rayssa.png') center/contain no-repeat;opacity:.85}
 .dialog-head>h1,.dialog-head>h2,.dialog-head>h3{flex:1;min-width:0}
}
@media screen and (max-width:500px){
 .brand::before{flex-basis:28px;width:28px;height:28px}
 .dialog-head{gap:10px}
 .dialog-head::before{flex-basis:24px;width:24px;height:24px}
}
@media print{.brand::before,.welcome::before,.dialog-head::before{display:none!important}}

/* Saldo pendente nas tabelas de vendas e OS. */
.amount-due{color:var(--danger);font-weight:600}
/* Controle de caixa: indicadores, filtros e tabela para celular e computador. */
.cash-header{display:flex;justify-content:space-between;gap:16px;align-items:start;flex-wrap:wrap;margin-bottom:16px}.cash-period{margin:16px 0;align-items:end}.cash-period label{max-width:210px}.cash-filters .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cash-filters details{margin-top:16px}.cash-filters summary{cursor:pointer;color:var(--brand);font-weight:600}.cash-filters details .grid{margin-top:14px}.cash-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.cash-final{background:#e5f3ed;border-color:#add8c4}.cash-account{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.cash-transactions{margin:20px 0}.cash-transactions td{min-width:105px;max-width:280px;overflow-wrap:normal}.cash-transactions td small{display:block;margin-top:4px;white-space:normal}.cash-transactions .amount-due{display:block;margin-top:6px}.cash-transactions td.actions{min-width:220px}.cash-transactions th{background:#edf4fb}.cash-part{padding:14px;border:1px solid var(--line);margin:12px 0;border-radius:9px}.cash-cards .stat strong{font-size:1.45rem}.cash-transactions+.panel{margin-bottom:20px}#cash-edit [readonly]{background:#f2f5f8}#cash-edit select:disabled{opacity:.8}
@media(max-width:780px){.cash-filters .grid,.cash-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-header .actions{width:100%}.cash-period button{flex:1}.cash-cards .stat{padding:13px}.cash-cards .stat strong{font-size:1.2rem}}
@media(max-width:480px){.cash-filters .grid{grid-template-columns:1fr}.cash-cards{gap:9px}.cash-header h2{font-size:1.2rem}.cash-header .button,.cash-header button{padding:9px;font-size:.8rem}}
/* Pagamento na mesma sequência da ficha de referência. */
.payment-photo-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.payment-method{grid-column:1;grid-row:1}.payment-installments{grid-column:2;grid-row:1}.payment-gross{grid-column:3;grid-row:1}.payment-entry{grid-column:1;grid-row:2}.payment-entry-method{grid-column:2/4;grid-row:2}.payment-remaining{grid-column:1/-1;grid-row:3}.payment-photo-grid output{padding:10px;display:block;min-height:44px;background:#f1f6fc;border:1px solid var(--line);border-radius:7px;font-weight:600}.simple-payment{padding:18px;border:1px solid #d5e5ef;border-radius:12px;background:#fbfdff}.simple-payment+.notice{margin-top:12px}.cash-transactions small,.panel td small{display:block}
@media(max-width:600px){.payment-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-method{grid-column:1/-1;grid-row:1}.payment-installments{grid-column:1;grid-row:2}.payment-gross{grid-column:2;grid-row:2}.payment-entry{grid-column:1;grid-row:3}.payment-entry-method{grid-column:2;grid-row:3}.payment-remaining{grid-column:1/-1;grid-row:4}}

.daily-cash-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-cash-cards small{display:block;margin-top:8px}@media(max-width:520px){.daily-cash-cards{grid-template-columns:1fr}}

/* Fase 2: ações acessíveis e leitura das OS no celular. */
.menu-toggle,.os-cards{display:none}
.session-reauth{width:min(460px,calc(100% - 28px))}.session-reauth h2{font-size:1.25rem}.session-reauth form{display:grid;gap:16px}.session-reauth::backdrop{background:rgba(16,35,55,.48)}
@media screen and (max-width:600px){
 button,.button,.subtle,input[type=submit]{min-height:44px;min-width:44px}
 .body{display:block}.topbar{display:flex;flex-wrap:wrap;gap:10px;padding:12px 16px}.topbar .brand{font-size:1rem;flex:1}.topbar .userline{width:100%;gap:8px;flex-wrap:wrap;font-size:.8rem}.topbar .userline .badge{display:none}
 .menu-toggle{display:inline-flex;align-items:center;justify-content:center}.sidebar{display:none}.sidebar.is-open{display:flex;flex-direction:column;width:100%;padding:12px 16px;border-right:0}.sidebar.is-open button{width:100%;text-align:left}
 .content{min-width:0;padding:16px}.heading{gap:12px;flex-wrap:wrap}.heading h1{font-size:1.5rem}.heading>.actions{width:100%}
 .os-desktop-table{display:none}.os-cards{display:grid;gap:12px}.os-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0;overflow-wrap:anywhere}.os-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.os-card p{margin:12px 0}.os-card>small{display:block;color:var(--dim);margin-bottom:10px}.os-card>button{width:100%;margin-top:8px}
 .filters{align-items:stretch}.filters>label{min-width:0;flex:1 1 100%}dialog .dialog-head{flex-wrap:wrap}dialog .footer-actions{flex-wrap:wrap;gap:10px}
}

/* Tela de entrada: arte da loja e contorno vermelho discreto. */
@media screen{
 .login{max-width:1050px;margin:clamp(16px,5vh,48px) auto;border:2px solid #b52f3d;box-shadow:0 12px 36px rgba(22,41,70,.09);border-radius:16px}
 .login .welcome-artwork{padding:clamp(12px,2vw,24px);background:#f6f3ec;gap:0;justify-content:center;border-right:2px solid #b52f3d}
 .welcome-artwork::before{display:none}
 .login-artwork{display:block;width:100%;height:auto;object-fit:contain;border-radius:6px}
 .login .signin{align-content:center}
}
@media screen and (max-width:850px){
 .login{width:calc(100% - 32px);margin:16px;grid-template-columns:1fr}
 .login .welcome-artwork{border-right:0;border-bottom:2px solid #b52f3d}
}

/* Entrada em azul-marinho, com tipografia clara e a arte original preservada. */
@media screen{
 body:has(.login){background:#070d2d}
 .login{background:#0b1742;color:#fff}
 .login .welcome-artwork{background:#0b1742}
 .login .signin{background:#0b1742;color:#fff}
 .login .signin h2,.login .signin label{color:#fff}
 .login .signin p,.login .signin .hint{color:#dbe4f5}
 .login .signin input{background:#14234f;color:#fff;border-color:#7182aa}
 .login .signin input::placeholder{color:#c7d2e8;opacity:1}
 .login .signin input:focus{border-color:#c8d9ff;outline:2px solid #c8d9ff;outline-offset:2px}
}
