:root{--ink:#10203b;--muted:#59677c;--line:#dce3ed;--bg:#f3f5f8;--card:#fff;--gold:#f2b84b;--gold-soft:#fff4d8;--blue:#2457b3;--green:#16714f;--red:#b63745;--purple:#6946a2;--shadow:none;--control-height:44px;--radius:12px}
body{font-size:16px;line-height:1.5;letter-spacing:0;color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{transition:background-color .16s ease,border-color .16s ease}button:disabled{opacity:.6;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #986b0b;outline-offset:3px}::selection{background:#f8d58c;color:var(--ink)}input,textarea{caret-color:var(--ink)}a{text-underline-offset:3px}*{scrollbar-color:#a7b4c8 #edf1f6;scrollbar-width:thin}
.sidebar{padding:28px 18px;background:var(--ink);flex-basis:246px}.brand{gap:12px;padding:0 10px 32px}.brand strong{font-size:18px;letter-spacing:-.02em}.brand small{font-size:12px;color:#c1cdde}.brand-mark{border-radius:9px;background:var(--gold)}.nav{gap:7px}.nav button{font-size:14px;line-height:1.45;min-height:48px;padding:12px;color:#c5d0e0;border-radius:8px;box-shadow:none}.nav button:hover{background:#1c304d}.nav button.active{background:#283b58;box-shadow:none;color:white}.nav .icon{display:flex;align-items:center;justify-content:center}.nav .icon svg{width:20px;height:20px}.side-footer{color:#c1cdde;line-height:1.6;font-size:12px;border-color:#34445e;padding:20px 10px}
.topbar{height:auto;min-height:84px;padding:20px 36px;position:sticky;top:0;z-index:2;border-bottom:1px solid var(--line)}.crumb strong{font-size:16px;font-weight:650}.crumb>span{font-size:13px}.top-actions{gap:12px}.avatar{background:#e9eef6;color:var(--ink);font-size:13px}.content{padding:32px 36px;max-width:1560px}.hero{align-items:center;margin:24px 0 28px;gap:20px}.hero h1{font-size:30px;font-weight:700;letter-spacing:-.025em;line-height:1.2;margin:0 0 8px}.hero p{font-size:15px;max-width:72ch}.hero .outline,.hero .primary{flex-shrink:0}.hero-actions{gap:12px;flex-wrap:wrap}.section-title{font-size:22px;letter-spacing:-.02em}.select,.outline,.primary,.field input,.field select{border-radius:8px;min-height:var(--control-height);font-size:14px;padding:10px 14px}.outline:hover{background:#f2f5f9;border-color:#b6c2d4}.primary{font-weight:600}.primary:hover{background:#223857}.primary.gold{color:var(--ink);background:var(--gold);font-weight:700}.primary.gold:hover{background:#edac32;border-color:#edac32}.action-link{font-size:14px;line-height:1.5;text-align:left;text-decoration:none}.action-link:hover{text-decoration:underline}.action-link:focus-visible{border-radius:3px}.button-icon{display:inline-flex;align-items:center;justify-content:center;margin-right:7px;vertical-align:middle}.button-icon svg{width:18px;height:18px}
.notice{background:#edf2f9;border:1px solid #d3deee;color:#3e5678;padding:12px 16px;font-size:13px;line-height:1.5;border-radius:8px}.card{border:1px solid var(--line);box-shadow:none;border-radius:var(--radius)}.card-head{padding:22px 24px 18px;align-items:center;flex-wrap:wrap}.card-head h2{font-size:18px;font-weight:650;letter-spacing:-.01em}.card-head p{font-size:13px;color:var(--muted);line-height:1.5;max-width:70ch}.card-body{padding:0 24px 24px}.filters{gap:12px;align-items:center}.table-wrap{overscroll-behavior:contain}.table th{font-size:12px;text-transform:none;letter-spacing:0;font-weight:650;background:#f6f8fb;color:#526178;padding:15px 18px;white-space:nowrap;border-top:1px solid var(--line)}.table td{font-size:14px;padding:18px;border-color:#e5eaf1;vertical-align:middle;line-height:1.5;font-variant-numeric:tabular-nums}.table tbody tr:hover{background:#f9fafc}.table td span{font-size:13px}.table td strong{font-weight:650}.table tbody tr:last-child td{border-bottom:none}.table .action-link{min-height:32px}.pill{border-radius:5px;font-size:12px;line-height:1.5;font-weight:600;padding:5px 9px;color:#176344;background:#e8f3ee}.pill.warn{color:#7a5410;background:#fff3d2}.pill.red{color:#a02d3b;background:#fbecef}.filter-empty{font-size:14px;padding:24px;text-align:center}.schedule th:first-child,.schedule td:first-child{box-shadow:1px 0 0 var(--line)}.shift{border-radius:6px;padding:10px 8px;font-size:13px}.shift.off{background:#eef1f5;color:#526178}.shift:not(.off){background:#e9effa;color:#234f9a}
.metrics,.kpi-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:0;background:transparent;margin-bottom:28px}.metric{border:none;box-shadow:none;background:transparent;border-radius:0;padding:22px 24px}.metric+.metric{border-left:1px solid var(--line)}.metric-head{font-size:13px;line-height:1.5}.metric-value{font-size:30px;font-weight:700;letter-spacing:-.025em;line-height:1.2;margin:9px 0 7px;font-variant-numeric:tabular-nums}.trend{font-size:12px;line-height:1.5;color:var(--muted)}.metric .badge{background:transparent!important;border-radius:0;color:var(--muted)}.grid{gap:24px}.unit{border-radius:8px;padding:16px}.presence-row,.alert{padding:16px 0}.row-info strong,.alert strong{font-size:14px}.row-info span,.alert span{font-size:13px}.unit h3{font-size:15px}.unit small,.unit-foot{font-size:13px}.demo-label{font-size:12px;color:#59677c;margin:18px 0 10px}.subnav{gap:10px;margin-bottom:24px}.subnav button{min-height:44px;border-radius:7px;padding:10px 14px;font-size:14px}.subnav button.active{background:#e9eef6;color:var(--ink);border-color:#bac8dd}
.modal{z-index:20;background:rgba(16,29,54,.55);padding:24px}.modal-box{border-radius:14px;box-shadow:0 18px 60px rgba(16,29,54,.18);padding:28px;max-height:90dvh}.modal-box h2{font-size:23px;line-height:1.3;letter-spacing:-.02em;margin:0 0 12px}.modal-box h3{font-size:17px;margin:28px 0 8px}.modal-box p{font-size:14px;line-height:1.55}.modal-actions{gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px;flex-wrap:wrap}.modal-actions button{min-height:44px}.field{gap:7px;margin:14px 0}.field label{font-size:14px;font-weight:600}.field input,.field select,.field textarea{border-color:#bfcbdc;min-width:0;width:100%;background:#fff;color:var(--ink)}.field textarea{font:inherit;padding:12px;border:1px solid #bfcbdc;border-radius:8px;resize:vertical}.form-row{gap:18px}.field input[type=file]{padding:10px;font-size:13px}.schedule-assignment{margin:20px 0}.schedule-person-fields{gap:16px}#pointDayHistory .unit{margin-top:14px;background:#f8fafc}#pointDayHistory .unit p{white-space:pre-line}.journey-status{font-size:13px;padding:0 24px 20px}#jornada .journey-clock{font-size:14px}#jornada td:first-child{min-width:190px}.vacation-cycle{background:#f8fafc}.vacation-cycle strong{font-size:14px}
@media(max-width:1100px){.content{padding:28px 24px}.topbar{padding:20px 24px}.hero{flex-wrap:wrap}.hero-actions{width:auto}.schedule-person-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.sidebar{flex-basis:auto;padding:16px 22px}.sidebar-header .brand{padding:0}.brand strong{font-size:17px}.sidebar .nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}.sidebar .nav button{min-height:48px}.topbar{position:static;min-height:unset;padding:16px 22px}.content{padding:24px 22px}.hero{align-items:flex-start;margin:20px 0 24px}.hero h1{font-size:28px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(3){border-left:none}.metric:nth-child(n+3){border-top:1px solid var(--line)}.metric{padding:20px}.kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-strip .metric{border-top:none}.hero-actions{width:100%;display:flex}.hero-actions button{flex:1 1 140px}.card-head{padding:20px}.card-body{padding:0 20px 20px}}
@media(max-width:560px){.sidebar{padding:14px 16px}.sidebar .nav{grid-template-columns:1fr}.topbar{padding:16px;gap:14px}.top-actions{gap:8px;width:100%;justify-content:space-between}.top-actions .select{max-width:210px;flex:1}.content{padding:22px 16px}.hero{gap:18px}.hero h1{font-size:26px}.hero p{font-size:14px}.hero>.outline,.hero>.primary{width:100%}.metrics{grid-template-columns:1fr 1fr}.metric-value{font-size:27px}.metric{padding:16px}.kpi-strip{grid-template-columns:1fr}.kpi-strip .metric{border-left:none;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:16px 0}.kpi-strip .metric+.metric{border-top:1px solid var(--line)}.kpi-strip .metric-value{margin:0;grid-column:2;grid-row:1/3}.kpi-strip .trend{grid-column:1}.card-head{padding:18px 16px;gap:16px}.card-body{padding:0 16px 18px}.filters{gap:10px;width:100%}.filters select,.filters input{max-width:100%;min-width:0}.card-head>.action-link{min-height:36px}.journey-date{width:100%;justify-content:space-between}.journey-status{padding:0 16px 16px}.modal{padding:12px}.modal-box{padding:22px 18px;max-height:94dvh}.modal-box h2{font-size:22px}.form-row,.schedule-person-fields{grid-template-columns:1fr}.modal-actions{position:sticky;bottom:-22px;background:#fff;padding:16px 0 10px;gap:10px}.modal-actions button{flex:1 1 120px}.subnav{flex-wrap:wrap;overflow:visible;gap:8px}.subnav button{flex:1 1 130px}.table td{padding:16px}.table th{padding:14px 16px}.schedule-person-fields{gap:8px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
.modal-box{max-height:90dvh!important}@media(max-width:560px){.modal-box{max-height:94dvh!important}}
.portal-shell{max-width:570px;padding:28px 16px}.portal-card{border:1px solid var(--line);box-shadow:none;border-radius:16px}.portal-head{padding:26px}.portal-head small{font-size:13px;color:#c1cdde}.portal-head h1{font-size:29px;line-height:1.25;letter-spacing:-.025em}.portal-head>span{font-size:14px;color:#c1cdde}.portal-body{padding:26px}.portal-body p{line-height:1.55}.clock strong{font-size:42px;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.clock span{font-size:13px}.portal-body>p:last-child{font-size:13px!important;line-height:1.5}.camera-stage{padding:16px;border-radius:12px}.camera-stage p{font-size:14px;color:#c1cdde}.camera-stage button{min-height:48px;font-size:15px}.camera-frame{border-color:var(--gold)}@media(max-width:560px){.portal-shell{padding:16px 12px}.portal-head,.portal-body{padding:22px 20px}.portal-body .full{min-height:48px}.clock strong{font-size:38px}}

.location-settings{display:grid;gap:12px}.location-settings label{display:block}.location-settings input[type="checkbox"]{width:auto;min-height:auto;margin-right:8px}.location-settings p{overflow-wrap:anywhere}.location-settings + .location-settings{margin-top:20px}

.deployment-notice{padding:10px 16px;background:#fff2cd;color:#644800;font:13px/1.45 system-ui,sans-serif;text-align:center;border-bottom:1px solid #e6cf90}
