/* Camada visual moderna: não altera nomes de campos, IDs nem fluxos PHP/AJAX. */
:root { --ink:#172033; --muted:#65708a; --surface:#ffffff; --line:#e4e8f0; --brand:#5a3fd1; --brand-dark:#402aa8; --accent:#ffbf3f; --page:#f8f7ff; }
* { box-sizing:border-box; }
body.app-page { min-height:100vh; margin:0; color:var(--ink); background:radial-gradient(circle at 0 0,#e3dcff 0,transparent 32rem),radial-gradient(circle at 100% 70%,#fff0cf 0,transparent 27rem),var(--page); font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:inherit; }
.site-shell { width:min(100% - 32px,1080px); margin:0 auto; }
.topbar { display:flex; align-items:center; justify-content:space-between; padding:28px 0; }
.brand { display:flex; gap:11px; align-items:center; color:var(--ink); text-decoration:none; font-weight:800; letter-spacing:-.03em; font-size:1.15rem; }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; color:white; background:linear-gradient(135deg,#6a45db,#fb5b74); box-shadow:0 8px 20px #6a45db40; }
.back-link { color:var(--muted); font-weight:650; text-decoration:none; }
.back-link:hover { color:var(--brand); }
.hero { padding:50px 0 68px; }
.eyebrow { margin:0 0 12px; color:var(--brand); font-size:.75rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.hero h1 { max-width:710px; margin:0; font-size:clamp(2.3rem,6vw,4.8rem); line-height:1.03; letter-spacing:-.06em; }
.hero p { max-width:570px; margin:22px 0 0; color:var(--muted); font-size:1.1rem; }
.choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding-bottom:48px; }
.choice-grid--single { grid-template-columns:minmax(0,1fr); max-width:420px; }
.choice-card { position:relative; display:block; min-height:220px; padding:28px; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:var(--surface); box-shadow:0 12px 28px #2736650d; color:var(--ink); text-decoration:none; transition:transform .2s,box-shadow .2s,border-color .2s; }
.choice-card:hover { transform:translateY(-4px); border-color:#b9c9f4; box-shadow:0 20px 38px #2736651c; }
.choice-card--primary { color:white; border:0; background:linear-gradient(135deg,#6a45db,#3a59dc); }
.choice-card:nth-child(2) { border:0; background:linear-gradient(135deg,#ff704f,#ec3f83); color:#fff; }
.choice-card:nth-child(2) p { color:#fff2f4; }
.choice-card:nth-child(2) .choice-icon { color:#df3e72; background:#fff8; }
.choice-icon { display:grid; place-items:center; width:45px; height:45px; margin-bottom:38px; border-radius:14px; background:#edf2ff; color:var(--brand); font-weight:900; font-size:1.25rem; }
.choice-card--primary .choice-icon { background:#ffffff26; color:#fff; }
.choice-card h2 { margin:0 0 8px; font-size:1.35rem; letter-spacing:-.03em; }
.choice-card p { max-width:300px; margin:0; color:var(--muted); }
.choice-card--primary p { color:#e4eaff; }
.choice-arrow { position:absolute; right:26px; bottom:22px; font-size:1.35rem; }
.home-footer { padding:26px 0 36px; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }
.form-layout { display:grid; min-height:calc(100vh - 96px); place-items:center; padding:16px 0 56px; }
.form-card { width:min(100%,590px); padding:clamp(24px,5vw,46px); border:1px solid var(--line); border-radius:24px; background:var(--surface); box-shadow:0 24px 60px #24346117; }
.form-card::before { display:block; width:72px; height:7px; margin-bottom:25px; border-radius:20px; background:linear-gradient(90deg,#6a45db,#fb5b74,#ffbf3f); content:""; }
.form-card h1 { margin:0; font-size:clamp(1.7rem,4vw,2.35rem); letter-spacing:-.045em; }
.form-card > p { margin:10px 0 30px; color:var(--muted); }
.entry-table { width:100%; border-collapse:separate; border-spacing:0 12px; background:transparent; }
.entry-table td { padding:0; border:0; background:transparent; }
.entry-table td:first-child { width:38%; padding-right:14px; color:var(--muted); font-size:.93rem; font-weight:700; text-align:right; }
.entry-table input:not([type="checkbox"]), .login-card input { width:100%; height:46px; padding:0 13px; border:1px solid #d7ddea; border-radius:10px; background:#fff; color:var(--ink); font:inherit; transition:border-color .2s,box-shadow .2s; }
.entry-table input:focus, .login-card input:focus { border-color:var(--brand); box-shadow:0 0 0 4px #2457d61c; outline:0; }
.check-row label { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:.93rem; font-weight:700; }
.check-row input { width:18px; height:18px; accent-color:var(--brand); }
.button, input[type="button"], input[type="submit"] { display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:0 20px; border:0; border-radius:10px; background:linear-gradient(135deg,#6a45db,#405de0); box-shadow:0 7px 16px #5a3fd140; color:#fff; cursor:pointer; font:700 .95rem/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; transition:transform .2s,background .2s; }
.button:hover, input[type="button"]:hover, input[type="submit"]:hover { transform:translateY(-1px); background:#402aa8; }
.button--muted { background:#eef1f7; box-shadow:none; color:#3e4962; }
.button--muted:hover { background:#e4e8f0; color:#27334e; }
.form-actions { padding-top:18px!important; text-align:center!important; }
.login-card { width:min(100%,460px); }
.login-card .field { margin-bottom:18px; }
.login-card label { display:block; margin-bottom:7px; color:var(--muted); font-size:.92rem; font-weight:750; }
.login-actions { display:flex; gap:10px; margin-top:28px; }
.login-actions input { flex:1; }
.login-message { min-height:22px; margin-top:14px; color:#bd3c50; text-align:center; font-size:.9rem; font-weight:650; }
.admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:30px; }
.admin-grid a { display:flex; align-items:center; justify-content:space-between; min-height:62px; padding:0 17px; border:1px solid var(--line); border-radius:12px; color:var(--ink); font-weight:700; text-decoration:none; }
.admin-grid a:hover { border-color:#b9c9f4; background:#f8faff; color:var(--brand); }
.admin-grid a:last-child { color:#b23a4f; }
.equipment-page { padding-bottom:56px; }
.admin-workspace { padding:18px 0 0; }
.admin-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:22px; margin-bottom:26px; }
.admin-heading h1 { margin:0; font-size:clamp(2rem,5vw,3.15rem); letter-spacing:-.055em; }
.admin-heading p:not(.eyebrow) { margin:8px 0 0; color:var(--muted); }
.new-equipment { flex:0 0 auto; min-height:46px; padding:0 18px; border:0; border-radius:10px; background:linear-gradient(135deg,#ff704f,#ec3f83); box-shadow:0 8px 18px #ec3f8333; color:#fff; cursor:pointer; font:750 .94rem -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.equipment-toolbar { display:flex; align-items:end; gap:12px; margin-bottom:18px; padding:18px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 10px 25px #2434610d; }
.equipment-toolbar label { display:grid; gap:6px; min-width:150px; color:var(--muted); font-size:.78rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.equipment-toolbar input:not([type="button"]),.equipment-toolbar select { width:100%; height:42px; padding:0 11px; border:1px solid #d7ddea; border-radius:9px; background:#fff; color:var(--ink); font:400 .93rem -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-transform:none; }
.toolbar-actions { display:flex; gap:8px; margin-left:auto; }
.toolbar-actions input { min-height:42px; }
.data-panel { overflow-x:auto; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 15px 34px #24346110; }
.data-panel .jtable-main-container { min-width:980px; border:0; }
.data-panel .jtable-title { display:none; }
.data-panel .jtable thead th { padding:13px 9px; border-color:#e5e8f1; background:#f1efff; color:#4936a9!important; font-size:.75rem; font-weight:800; text-transform:uppercase; }
.data-panel .jtable thead th .jtable-column-header-container { height:auto!important; margin-left:0!important; padding:0; }
.data-panel .jtable thead th .jtable-column-header-text > div { padding:0; margin:0; }
.data-panel .jtable tbody > tr > td { padding:11px 8px; border-style:solid; border-width:0 0 1px 0; border-color:#edf0f5; background:#fff; color:#33405a; font-size:.84rem; }
.data-panel .jtable tbody > tr.jtable-row-even > td { background:#faf9ff; }
.data-panel .jtable tbody > tr:hover > td { background:#fffbf5; }
.data-panel .jtable-toolbar-item-add-record { display:none; }
.data-panel .jtable-bottom-panel { padding:12px 14px; border-color:#e5e8f1; background:#fafbff; color:var(--muted); }
.data-panel .jtable-command-button { border-radius:7px; }
.jt-actions { display:flex; flex-wrap:wrap; gap:4px; }
.jt-action-btn { display:inline-flex; align-items:center; justify-content:center; min-height:0; height:25px; padding:0 9px; border:1px solid #d7ddea; border-radius:7px; background:#fff; box-shadow:none; color:#3e4962; font-size:.72rem; font-weight:700; line-height:1; cursor:pointer; transition:background .15s,border-color .15s,color .15s; }
.jt-action-btn:hover { background:#f1efff; border-color:#c9bdf7; color:var(--brand); transform:none; }
.jt-action-btn--primary { border-color:#c9bdf7; color:var(--brand); background:#f8f7ff; }
.jt-action-btn--danger { border-color:#f5c2cf; color:#bd3c50; background:#fff7f8; }
.jt-action-btn--danger:hover { background:#fdeaee; border-color:#ee9db0; color:#a72e40; }
.jt-action-btn--success { border-color:#b8e6c8; color:#1c8a53; background:#f3fdf6; }
.jt-action-btn--success:hover { background:#e5f7ec; border-color:#8fd6ac; color:#146b3f; }
.badge { display:inline-flex; align-items:center; padding:3px 11px; border-radius:999px; font-size:.72rem; font-weight:750; white-space:nowrap; }
.badge--on { background:#e5f7ec; color:#1c8a53; }
.badge--off { background:#f1f0f9; color:#6a7290; }
.badge--btn { border:0; font:inherit; cursor:pointer; transition:transform .15s,box-shadow .15s; }
.badge--btn:hover { box-shadow:0 0 0 2px currentColor inset; }
.badge--btn:active { transform:scale(.96); }
.toolbar-actions .button--muted { background:#eef1f7!important; box-shadow:none!important; color:#3e4962!important; }
.toolbar-actions .button--muted:hover { background:#e4e8f0!important; }
/* Páginas administrativas legadas (jTable): o conteúdo continua acessível em telas estreitas. */
.app-page .jtable-main-container { max-width:100%; overflow-x:auto; border-radius:14px; }
.app-page .ui-dialog { max-width:calc(100vw - 24px)!important; }
@media (max-width:700px) { .choice-grid,.admin-grid { grid-template-columns:1fr; } .hero { padding-top:28px; } .entry-table td:first-child { width:34%; font-size:.82rem; } .form-card { border-radius:18px; } .admin-heading { align-items:flex-start; flex-direction:column; } .new-equipment { width:100%; } .equipment-toolbar { align-items:stretch; flex-direction:column; } .equipment-toolbar label { min-width:0; } .toolbar-actions { margin-left:0; } .toolbar-actions input { flex:1; } }
