/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.records-card{padding:20px}.time-grid{min-width:1080px}.time-grid th{font-size:12px;line-height:1.2}.time-grid th:first-child,.time-grid td:first-child{z-index:1;background:#fff;position:sticky;left:0}.time-grid td:first-child strong,.time-grid td:first-child small{display:block}.time-grid td:first-child small{text-transform:capitalize;margin-top:3px}.time-grid-input{color:#22172b;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #ddd5e6;border-radius:10px;width:112px;min-width:112px;padding:9px 8px;font:700 15px/1 Poppins,Arial,sans-serif;transition:all .18s}.time-grid-input:hover{border-color:#a567ff}.time-grid-input:focus{border-color:#7b2dff;outline:3px solid #eadcff}.time-grid-input.saving{opacity:.55}.time-grid-input:disabled{color:#807887;background:#f3f0f5}.extra-events{color:#8b5ab8;margin-top:5px;display:block}.holiday-label{color:#7b2dff;margin-top:4px;font-size:10px;font-weight:700;line-height:1.2}.records-totals{flex-wrap:wrap;align-items:center;gap:7px 18px;margin:18px 0 0;display:flex}.records-totals span{color:#766b82;flex-basis:100%;font-size:11px}.month-actions{justify-content:space-between;align-items:center;gap:20px;display:flex}.month-actions h3{margin-bottom:4px}.badge-check{color:#665c6d;cursor:pointer;border:1px solid #ded5e7;border-radius:10px;align-items:center;gap:7px;margin:0 3px 0 0;padding:7px 9px;font-size:12px;font-weight:700;display:flex}.badge-check input{accent-color:#7425f7;width:auto;margin:0}.badge-modal{align-items:flex-start;padding:28px;overflow:auto}.badge-modal>.card{width:min(100%,1050px);max-width:1050px}.badge-sheet-actions{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.badge-sheet{box-sizing:border-box;background:#fff;grid-template-columns:repeat(2,85.6mm);grid-auto-rows:54mm;place-content:start center;gap:11mm 8mm;width:210mm;min-height:297mm;margin:0 auto;padding:18mm 15mm;display:grid}.print-badge{box-sizing:border-box;color:#fff;break-inside:avoid;background:radial-gradient(circle at 15% 15%,#58217c 0,#25102f 36%,#100817 75%);border:.25mm solid #2b153d;border-radius:4mm;grid-template-columns:minmax(0,1fr) 34mm;align-items:center;width:85.6mm;height:54mm;display:grid;position:relative;overflow:hidden;box-shadow:0 2mm 5mm #180a222b}.print-badge:before{content:"";background:linear-gradient(#e830ff,#7b2dff);width:2.2mm;position:absolute;inset:0 auto 0 0}.badge-copy{min-width:0;padding:5.5mm 1mm 5mm 6mm}.badge-copy>img{object-fit:contain;object-position:left center;width:29mm;height:9mm;margin-bottom:3mm;display:block}.badge-copy p{color:#dcaeff;letter-spacing:.2mm;margin:0 0 1.4mm;font-size:2.3mm;font-weight:800}.badge-copy h3{color:#fff;letter-spacing:-.15mm;margin:0 0 2mm;font-size:5mm;line-height:1.02}.badge-copy small{color:#d8cfdf;max-width:39mm;font-size:2.55mm;line-height:1.25;display:block}.badge-qr{box-sizing:border-box;object-fit:contain;background:#fff;border-radius:2.5mm;width:29mm;height:29mm;margin-right:3.5mm;padding:1.5mm}.danger-button{color:#a42b43;border-color:#efc6cf}.danger-primary{color:#fff;background:#a92d45;border-color:#a92d45}.delete-dialog .error{line-height:1.55}.report-modal{align-items:flex-start;padding:28px;overflow:auto}.report-modal>.card{width:min(100%,1050px);max-width:1050px}.report-actions{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.monthly-report-sheet{box-sizing:border-box;color:#21172e;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:11mm 12mm}.monthly-report-sheet>header{border-bottom:.6mm solid #2b153d;grid-template-columns:38mm 1fr auto;align-items:center;gap:7mm;padding-bottom:5mm;display:grid}.monthly-report-sheet>header img{object-fit:contain;object-position:left center;filter:invert();width:34mm;height:12mm}.monthly-report-sheet>header p{color:#7b2dff;letter-spacing:.5pt;margin:0 0 1mm;font-size:7pt;font-weight:800}.monthly-report-sheet>header h1{letter-spacing:-.4pt;margin:0 0 1mm;font-size:17pt}.monthly-report-sheet>header strong{text-transform:capitalize;font-size:9pt}.monthly-report-sheet>header>span{color:#7444b8;background:#f0e8fc;border-radius:2mm;padding:2mm 3mm;font-size:7.5pt;font-weight:700}.report-place{color:#685b71;align-items:center;gap:4mm;padding:4mm 0;font-size:7.5pt;display:flex}.report-place strong{color:#21172e}.monthly-report-sheet table{table-layout:fixed;font-size:8pt}.monthly-report-sheet th,.monthly-report-sheet td{border:.2mm solid #ddd5e6;padding:2.3mm 2mm}.monthly-report-sheet th{color:#55435f;background:#f5f0fa;font-size:7pt;font-weight:700}.monthly-report-sheet th:first-child{width:28%}.monthly-report-sheet footer{color:#766b82;margin-top:7mm;font-size:7pt}.monthly-report-sheet footer>div{grid-template-columns:1fr 1fr;gap:18mm;margin-top:17mm;display:grid}.monthly-report-sheet footer span{text-align:center;border-top:.2mm solid #766b82;padding-top:2mm}.detailed-report-cta{justify-content:space-between;align-items:center;gap:22px;display:flex}.detailed-report-cta h3{margin-bottom:4px}.detailed-report-cta p{margin-bottom:0}.detailed-report-pages{width:297mm;margin:0 auto}.detailed-report-page{box-sizing:border-box;page:detailed-report;color:#21172e;break-after:page;page-break-after:always;background:#fff;grid-template-rows:minmax(0,1fr);gap:5mm;width:297mm;height:210mm;padding:7mm 9mm;display:grid;overflow:hidden}.detailed-report-page:last-child{break-after:auto;page-break-after:auto}.employee-month-report{box-sizing:border-box;break-inside:avoid;border:.3mm solid #cfc5d8;border-radius:2.5mm;flex-direction:column;height:100%;min-height:0;padding:3mm 3.5mm 2.2mm;display:flex;overflow:hidden}.employee-month-report>header{border-bottom:.45mm solid #2b153d;justify-content:space-between;align-items:flex-end;gap:5mm;padding-bottom:1.8mm;display:flex}.employee-month-report>header p{color:#7b2dff;letter-spacing:.35pt;margin:0 0 .5mm;font-size:5.5pt;font-weight:800}.employee-month-report>header h3{color:#21172e;margin:0;font-size:10pt;line-height:1.1}.employee-month-report>header>div:last-child{text-align:right}.employee-month-report>header strong,.employee-month-report>header span{text-transform:capitalize;font-size:6pt;display:block}.employee-month-report>header span{color:#766b82;margin-top:.5mm}.employee-month-report table{table-layout:fixed;margin-top:2mm;font-size:7.5pt;line-height:1.15}.employee-month-report th,.employee-month-report td{vertical-align:middle;border:.15mm solid #e1dae7;height:4.35mm;padding:.4mm 1mm}.employee-month-report th{color:#55435f;background:#f5f0fa;font-size:7pt;font-weight:700}.employee-month-report th:first-child{width:12%}.employee-month-report th:nth-child(2){width:48%}.employee-month-report th:nth-child(3){width:15%}.employee-month-report th:last-child{width:25%}.employee-month-report .report-times{white-space:normal}.employee-month-report .report-times span{margin-right:2mm;display:inline-block}.employee-report-sign{grid-template-columns:1fr 1fr;gap:15mm;margin-top:auto;padding:4mm 5mm 0;display:grid}.employee-report-sign span{color:#766b82;text-align:center;border-top:.15mm solid #766b82;padding-top:1mm;font-size:5pt}@media (max-width:700px){.records-card{padding:12px}.time-grid-input{width:106px;min-width:106px}.month-actions,.badge-sheet-actions,.report-actions,.detailed-report-cta{flex-direction:column;align-items:stretch}.badge-modal{padding:8px}.badge-modal>.card{padding:10px;overflow:auto}}@page{size:A4 portrait;margin:0}@page detailed-report{size:A4 landscape;margin:0}@media print{body:has(.badge-sheet){background:#fff}body:has(.badge-sheet) *{visibility:hidden!important}:is(body:has(.badge-sheet) .badge-sheet,body:has(.badge-sheet) .badge-sheet *){visibility:visible!important}body:has(.badge-sheet) .badge-sheet{width:210mm;min-height:297mm;margin:0;padding:18mm 15mm;position:absolute;inset:0;transform:none}body:has(.monthly-report-sheet){background:#fff}body:has(.monthly-report-sheet) *{visibility:hidden!important}:is(body:has(.monthly-report-sheet) .monthly-report-sheet,body:has(.monthly-report-sheet) .monthly-report-sheet *){visibility:visible!important}body:has(.monthly-report-sheet) .monthly-report-sheet{width:210mm;min-height:297mm;margin:0;position:absolute;inset:0}body:has(.monthly-report-sheet) .monthly-report-sheet footer{display:block!important}body:has(.detailed-report-pages){background:#fff}body:has(.detailed-report-pages) .app-header{display:none!important}body:has(.detailed-report-pages) .sidebar{display:none!important}body:has(.detailed-report-pages) .workspace>:not(.report-modal){display:none!important}body:has(.detailed-report-pages) .app-grid{background:#fff;width:297mm;max-width:none;height:auto;margin:0;padding:0;overflow:visible;display:block!important;position:static!important}body:has(.detailed-report-pages) .workspace{background:#fff;width:297mm;max-width:none;height:auto;margin:0;padding:0;overflow:visible;display:block!important;position:static!important}body:has(.detailed-report-pages) .report-modal{background:#fff;width:297mm;max-width:none;height:auto;margin:0;padding:0;overflow:visible;display:block!important;position:static!important}body:has(.detailed-report-pages) .report-modal>.card{background:#fff;width:297mm;max-width:none;height:auto;margin:0;padding:0;overflow:visible;display:block!important;position:static!important}body:has(.detailed-report-pages) .detailed-report-pages{background:#fff;width:297mm;max-width:none;height:auto;margin:0;padding:0;overflow:visible;display:block!important;position:static!important}body:has(.detailed-report-pages) .employee-month-report table{font-size:7.5pt;break-inside:avoid!important;page-break-inside:avoid!important}body:has(.detailed-report-pages) .detailed-report-page{break-after:page;page-break-after:always;margin:0;box-sizing:border-box!important;break-inside:avoid!important;page-break-inside:avoid!important;width:297mm!important;height:210mm!important;min-height:210mm!important;max-height:210mm!important;padding:7mm 9mm!important;display:block!important;overflow:hidden!important}body:has(.detailed-report-pages) .employee-month-report{break-inside:avoid!important;page-break-inside:avoid!important;height:196mm!important;max-height:196mm!important}body:has(.detailed-report-pages) .employee-month-report tr{break-inside:avoid!important;page-break-inside:avoid!important}body:has(.detailed-report-pages) .detailed-report-page:last-child{break-after:auto;page-break-after:auto}body:has(.records-card):not(:has(.monthly-report-sheet)):not(:has(.detailed-report-pages)) .workspace{padding:5mm}body:has(.records-card):not(:has(.monthly-report-sheet)):not(:has(.detailed-report-pages)) .workspace>.section-heading{margin:0 0 3mm}body:has(.records-card):not(:has(.monthly-report-sheet)):not(:has(.detailed-report-pages)) .workspace>.section-heading h1{font-size:14pt}body:has(.records-card):not(:has(.monthly-report-sheet)):not(:has(.detailed-report-pages)) .records-card{margin:0;padding:3mm;break-inside:auto!important;page-break-inside:auto!important}body:has(.records-card):not(:has(.monthly-report-sheet)):not(:has(.detailed-report-pages)) .records-card>p{margin:0 0 2mm;font-size:6pt}body:has(.records-card):not(:has(.monthly-report-sheet)):not(:has(.detailed-report-pages)) .time-grid{table-layout:fixed;min-width:0;font-size:5.5pt;break-inside:auto!important;page-break-inside:auto!important}:is(body:has(.records-card):not(:has(.monthly-report-sheet)):not(:has(.detailed-report-pages)) .time-grid th,body:has(.records-card):not(:has(.monthly-report-sheet)):not(:has(.detailed-report-pages)) .time-grid td){height:4mm;padding:.35mm .6mm}body:has(.records-card):not(:has(.monthly-report-sheet)):not(:has(.detailed-report-pages)) .time-grid-input{border:0;border-radius:0;width:19mm;min-width:0;height:4.5mm;padding:.3mm .4mm;font-size:6pt;line-height:1}body:has(.records-card):not(:has(.monthly-report-sheet)):not(:has(.detailed-report-pages)) .time-grid tr{break-inside:avoid!important;page-break-inside:avoid!important}body:has(.records-card):not(:has(.monthly-report-sheet)):not(:has(.detailed-report-pages)) .time-grid .pill{padding:.5mm;font-size:5pt}.report-modal{background:#fff;padding:0;position:static}.report-modal>.card{box-shadow:none;break-inside:auto;border:0;max-width:none;padding:0}.print-badge{box-shadow:none}.time-grid-input{background:0 0;border:0;padding:0}.badge-modal{background:#fff;padding:0;position:static}.badge-modal>.card{box-shadow:none;border:0;max-width:none;padding:0}.terminal .intro,.terminal .tabs,.terminal #pin-panel,.terminal #qr-panel,.terminal #identified,.terminal #terminal-status,.terminal .punch-card>.eyebrow,.terminal .punch-card>h2,.terminal #receipt button{display:none!important}.terminal-layout{margin:0!important;display:block!important}.punch-card{width:100%!important}}.app-header{color:#eae1f6;background:#100919;justify-content:space-between;align-items:center;height:86px;padding:14px 38px;display:flex}.app-brand{align-items:center;gap:18px;text-decoration:none;display:flex}.app-brand img{object-fit:contain;width:120px;height:48px}.app-brand span{letter-spacing:4px;border-left:1px solid #594563;padding-left:20px;font-size:11px}.app-header>div{align-items:center;gap:16px;font-size:13px;display:flex}.app-header button{color:#fff;background:0 0;border-color:#5c446d;padding:8px 15px;font-size:12px}.app-grid{grid-template-columns:220px 1fr;min-height:calc(100vh - 86px);display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:8px;padding:36px 18px;display:flex}.sidebar .eyebrow{color:#9988a8;margin:0 12px 15px}.sidebar>button{text-align:left;color:#7b6a8a;background:0 0;border:0;justify-content:space-between;align-items:center;padding:15px 17px;font-size:13px;display:flex}.sidebar>button.active{color:#7444b8;background:#f0e8fc}.sidebar>button span{opacity:.5}.sidebar-note{color:#8b7f97;margin:auto 12px 0;padding-top:70px;font-size:12px;line-height:1.7}.sidebar-note strong{color:#55435f}.sidebar-note a{color:#7749a8}.workspace{width:100%;max-width:1380px;margin:auto;padding:36px 42px}.workspace h1,.portal h1{letter-spacing:-1.2px;margin-bottom:0;font-size:32px;line-height:1.3}.workspace .eyebrow{color:#9b83af;margin-bottom:9px}.workspace h2{letter-spacing:-.5px;font-size:20px}.workspace h3{letter-spacing:-.2px;margin-bottom:5px;font-size:15px}.workspace>.card,.portal>.card{margin-bottom:24px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-top:8px;margin-bottom:26px;display:flex}.section-heading input{max-width:180px}.muted{color:var(--muted);line-height:1.65}.small,small{font-size:12px}.metrics{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:26px;display:grid}.metrics .card{border-radius:16px;padding:23px 26px}.metrics p{color:var(--muted);font-size:12px}.metrics strong{letter-spacing:-2px;font-size:38px;font-weight:500}.two-columns{grid-template-columns:1.3fr 1fr;gap:25px;display:grid}.two-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.person{border-bottom:1px solid #f1edf5;align-items:center;gap:12px;padding:17px 0;display:flex}.person:last-child{border:0}.person strong{font-size:13px;font-weight:600}.person small{color:#978b9f;margin-top:6px;font-size:10px;display:block}.avatar{color:#9864ca;background:#f0e9f7;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:37px;height:37px;display:flex}.pill{white-space:nowrap;color:#7e6b8c;background:#f2eff6;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:600;display:inline-block}.person>.pill{margin-left:auto}.pill.green{color:#347653;background:#eaf6ee}.pill.warning{color:#a36621;background:#fff2d9}.activity{border-bottom:1px solid #f0ebf4;padding:13px 0;font-size:12px}.activity p{color:var(--muted);margin:7px 0 4px}.activity small{color:#ab9eb5;font-size:10px}.app-footer{color:#a394af;text-align:center;margin:38px 0 12px;font-size:10px}.login{max-width:430px;margin:65px auto}.login h1{letter-spacing:-1px;margin-bottom:16px;font-size:30px}.login .primary{margin-top:24px}.back-link{text-align:center;color:#8e749f;margin-top:22px;font-size:12px;display:block}.employee-list{gap:18px;display:grid}.employee-list .card{padding:20px 25px}.employee-list .person{border:none;padding-top:0}.button-row{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.button-row button{font-size:11px}.modal{z-index:20;background:#10051b99;justify-content:center;align-items:flex-start;padding:30px 15px;display:flex;position:fixed;inset:0;overflow:auto}.modal>.card{width:100%;max-width:550px}.weekdays{flex-wrap:wrap;gap:15px;display:flex}.weekdays label{align-items:center;gap:5px;font-size:11px;display:flex}.weekdays input,.check input{width:auto}.check{align-items:center;gap:12px;display:flex}.filters{align-items:center;gap:12px;margin-bottom:30px;display:flex}.filters select{flex:2}.filters input{max-width:165px}.filters button{white-space:nowrap;font-size:11px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#8c7b9c;background:#faf8fc;font-weight:500}th,td{border-bottom:1px solid #eee8f4;padding:12px 10px}.time-chip{background:#faf8fc;border-radius:6px;margin:2px;padding:6px 7px;font-size:11px}.record-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:15px 0;font-size:12px;display:flex}.record-row small{color:var(--muted);margin-top:5px;display:block}.record-row button{padding:8px 12px;font-size:11px}.audit-row{border-bottom:1px solid var(--line);padding:17px 0;font-size:12px}.audit-row summary{cursor:pointer}.audit-row pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f3fa;padding:12px;font-size:10px}.portal{max-width:720px;margin:36px auto;padding:0 20px}.portal>h1{margin-bottom:25px}.portal .eyebrow{color:#9364b4}.portal .wide{margin:15px 0}.badge{text-align:center;max-width:420px;margin:45px auto}.badge h1{font-size:25px}.badge>img{width:100%;max-width:290px}.badge button{margin-top:25px}.receipt dt{color:var(--muted);margin-top:13px;font-size:10px}.receipt dd{overflow-wrap:anywhere;margin:4px 0;font-size:13px}.receipt .small{margin-top:20px}.workspace>.error,.workspace>.success,.portal>.error{margin-bottom:22px}.workspace form>.primary{margin-top:20px}@media (max-width:1100px){.workspace{padding:30px 24px}.two-columns{grid-template-columns:1fr}.app-grid{grid-template-columns:180px 1fr}.sidebar{padding:30px 10px}.person strong{font-size:12px}}@media (max-width:700px){.app-header{height:72px;padding:12px 18px}.app-header>div{font-size:10px}.app-brand img{width:88px}.app-brand span{display:none}.app-grid{display:block}.sidebar{border-bottom:1px solid var(--line);flex-direction:row;gap:5px;padding:10px;display:flex;overflow:auto}.sidebar .eyebrow,.sidebar-note,.sidebar button span{display:none}.sidebar>button{white-space:nowrap;padding:12px;font-size:11px}.workspace{padding:25px 16px}.metrics{gap:9px}.metrics .card{padding:18px 12px}.metrics strong{font-size:28px}.metrics p{font-size:10px}.section-heading{flex-wrap:wrap;gap:14px}.section-heading h1{font-size:28px}.filters{flex-wrap:wrap}.filters select{flex-basis:100%}.two-fields{grid-template-columns:1fr;gap:0}.login,.badge{margin:35px 16px}.person{gap:9px}.person>.pill{padding:6px;font-size:9px}.workspace .card{padding:20px 15px}.button-row button{flex-grow:1}.record-row{flex-wrap:wrap}}@media print{.app-grid{display:block}.workspace,.portal{max-width:none;padding:0}.card{break-inside:avoid}.workspace table{font-size:9px}.time-chip{border:0;padding:1px}.app-footer{display:none}.receipt{display:block}body:has(.receipt) .portal>:not(.receipt){display:none!important}}:root{--ink:#21172e;--purple:#8248e5;--muted:#766b82;--line:#e8e2ef;--paper:#f5f2f8}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);margin:0;font-family:Poppins,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;padding:12px 18px;font-weight:600}button:disabled{opacity:.5;cursor:wait}button:hover:not(:disabled){border-color:var(--purple)}a{color:inherit}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d5ccdf;border-radius:10px;padding:13px 14px}label{margin:14px 0 7px;font-size:13px;font-weight:600;display:block}h1,h2,h3,p{margin-top:0}h2{letter-spacing:-1px;margin-bottom:22px;font-size:28px}.terminal{color:#fff;background:radial-gradient(at 75% 30%,#311449 0,#0000 50%),#09060f;min-height:100vh;padding:28px 6vw}.brand{align-items:center;gap:22px;max-width:1280px;margin:auto;display:flex}.brand img{object-fit:contain;width:145px;height:66px}.brand span{letter-spacing:5px;border-left:1px solid #574064;padding-left:22px;font-size:13px}.brand a{color:#d2bedf;margin-left:auto;font-size:13px;text-decoration:none}.terminal-layout{justify-content:space-between;align-items:center;gap:70px;max-width:1140px;margin:65px auto;display:flex}.intro{flex:1}.eyebrow{letter-spacing:2px;color:#b387f0;margin-bottom:20px;font-size:10px;font-weight:700}.intro h1{letter-spacing:-3px;margin-bottom:28px;font-size:clamp(40px,5vw,66px);font-weight:600;line-height:1.12}.intro em{color:#b88af4;font-style:normal}.intro>p:not(.eyebrow){color:#b9adc8;font-size:15px;line-height:1.8}.text-link{color:#dec6ff;margin-top:22px;font-size:14px;display:inline-block}.card{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:22px;padding:30px;box-shadow:0 16px 60px #13042212}.punch-card{flex-shrink:0;width:400px}.card .eyebrow{color:#8a61b4;margin-bottom:12px}.tabs{background:#f3eef9;border-radius:13px;margin-bottom:20px;padding:5px;display:flex}.tabs button{background:0 0;border:0;flex:1;padding:11px 5px;font-size:13px}.tabs button.selected{color:#7645ba;background:#fff;box-shadow:0 2px 8px #23103010}#terminal-status{color:var(--muted);margin-bottom:15px;font-size:12px;line-height:1.5}#pin{text-align:center;letter-spacing:10px;background:#faf8fc;font-size:27px}.keypad{flex-wrap:wrap;margin:14px -4px;display:flex}.keypad button{width:calc(33.333% - 8px);min-height:47px;margin:4px;font-size:19px}.keypad button[data-key=Limpar],.keypad button[data-key=Apagar]{color:var(--muted);font-size:11px}.primary{background:var(--purple);border-color:var(--purple);color:#fff}.wide{width:100%}.terminal footer{text-align:center;color:#a597b5;margin:28px auto;font-size:12px;line-height:1.8}.terminal footer small{font-size:10px}video{background:#0c0613;border-radius:12px;width:100%;margin-top:14px}.error{color:#ad233f;background:#fff0f3;border-radius:10px;padding:13px;font-size:13px}.success{color:#246348;background:#ecf8f1;border-radius:12px;padding:14px}:is(button:focus-visible,a:focus-visible,input:focus-visible){outline-offset:3px;outline:3px solid #b68bec}[hidden]{display:none!important}@media (max-width:800px){.terminal{padding:20px}.terminal-layout{gap:24px;margin:28px auto;display:block}.intro{text-align:center}.intro h1{letter-spacing:-1.5px;font-size:36px}.intro>p:not(.eyebrow){display:none}.intro .text-link{margin:0 0 25px}.intro .eyebrow{margin-bottom:10px}.punch-card{width:100%;max-width:410px;margin:auto}.brand{gap:12px}.brand img{width:100px;height:42px}.brand span{padding-left:12px;font-size:10px}.brand a{font-size:11px}.card{padding:23px}.terminal footer{margin-top:25px}}@media print{.no-print,.brand,footer{display:none!important}body,.terminal{color:#000!important;background:#fff!important}.card{box-shadow:none;border:1px solid #bbb}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
