@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@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,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-800:oklch(44.4% .177 26.899);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-semibold:600;--font-weight-bold:700;--radius-xl:.75rem;--radius-2xl:1rem;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter", system-ui, sans-serif;--default-mono-font-family:var(--font-mono);--color-border:var(--border)}}@layer base{*,:after,:before,::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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-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:where(:not(iframe)){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]){appearance:button}::file-selector-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{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-1\/2{top:50%}.left-1\/2{left:50%}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-6{margin-top:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.min-h-11{min-height:calc(var(--spacing) * 11)}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.max-w-md{max-width:var(--container-md)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-input{border-color:var(--input)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-destructive{background-color:var(--destructive)}.bg-primary{background-color:var(--primary)}.bg-white{background-color:var(--color-white)}.p-0{padding:0}.p-6{padding:calc(var(--spacing) * 6)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary-foreground{color:var(--primary-foreground)}.text-white{color:var(--color-white)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.grayscale{--tw-grayscale:grayscale(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,)}.filter{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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-brand-accent:hover{background-color:var(--brand-accent)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-red-800:hover{background-color:var(--color-red-800)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-45:disabled{opacity:.45}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-primary:#333;--brand-secondary:#91ba02;--brand-accent:#b5e803;--brand-concrete:#d9d9d9;--brand-light:#f2f2f2;--brand-dark:#111827;--background:var(--brand-light);--foreground:var(--brand-primary);--card:#fff;--card-foreground:var(--brand-primary);--primary:var(--brand-secondary);--primary-foreground:var(--brand-dark);--muted:#f5f6f3;--muted-foreground:#606660;--border:#e5e7e1;--input:#a3aaa0;--ring:#547000;--destructive:#b91c1c;--present:#166534;--present-soft:#edf7ee;--absent:#b42332;--absent-soft:#fff0f1;--pending:#855414;--pending-soft:#fff7e7;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box;border-color:var(--border)}body{background:var(--background);min-width:320px;color:var(--foreground);margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button:disabled,select:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ring);outline-offset:3px}a{color:inherit;text-decoration:none}button{-webkit-tap-highlight-color:transparent}.app-header{border-bottom:1px solid var(--border);background:#fff;height:98px}.header-inner{align-items:center;gap:28px;max-width:1272px;height:100%;margin:auto;padding:0 36px;display:flex}.brand-link{flex-shrink:0;align-items:center;display:inline-flex}.brand-full{width:214px;height:auto}.brand-mobile{display:none}.header-divider{background:var(--border);width:1px;height:34px}.header-section{color:var(--muted-foreground);align-items:center;gap:9px;font-size:13px;display:flex}.header-right{align-items:center;gap:24px;margin-left:auto;display:flex}.demo-label{color:#536d00;background:#f2f5e8;border:1px solid #d9e5b2;border-radius:6px;align-items:center;gap:7px;padding:5px 9px;font-size:12px;font-weight:600;display:inline-flex}.demo-label>span{background:#688800;border-radius:50%;width:5px;height:5px}.company-avatar{color:#fff;background:#333;border-radius:50%;place-items:center;width:36px;height:36px;font-size:11px;font-weight:600;display:grid}.main-layout{max-width:1272px;margin:auto;padding:38px 36px 0}.page-intro{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.eyebrow{color:#666c63;letter-spacing:1.6px;align-items:center;gap:7px;margin-bottom:10px;font-size:10px;font-weight:700;display:flex}.eyebrow>span{background:var(--brand-secondary);width:6px;height:6px}h1{letter-spacing:-1.4px;margin:0;font-size:34px;font-weight:700;line-height:1.2}h1>span{color:#688800}.page-intro p{color:var(--muted-foreground);margin:10px 0 0;font-size:13px;line-height:1.7}.reset-trigger{background:0 0;border-color:#b7bcb4;font-size:12px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px;display:grid}.summary-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:17px 20px 19px;position:relative;overflow:hidden}.summary-top{color:#62675f;justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.summary-icon{color:#50554c;background:#f1f3ee;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.summary-card>strong{letter-spacing:-1.4px;margin:12px 0 8px;font-size:34px;line-height:1;display:block}.summary-card>p{color:#62695c;margin:0;font-size:10px}.summary-present .summary-icon{background:var(--present-soft);color:var(--present)}.summary-present>strong{color:var(--present)}.summary-absent .summary-icon{background:var(--absent-soft);color:var(--absent)}.summary-absent>strong{color:var(--absent)}.summary-pending .summary-icon{background:var(--pending-soft);color:var(--pending)}.summary-pending>strong{color:var(--pending)}.workspace-grid{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:24px;display:grid}.context-column{min-width:0;position:sticky;top:22px}.context-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:23px 20px}.section-kicker{letter-spacing:1.1px;color:#6f7569;align-items:center;gap:8px;margin-bottom:23px;font-size:10px;font-weight:700;display:flex}.section-kicker>svg{color:#657c19}.context-card label{margin-bottom:9px;font-size:12px;font-weight:600;display:block}.select-wrap{position:relative}.select-wrap select{appearance:none;text-overflow:ellipsis;background:#fafbf8;border:1px solid #a3aaa0;border-radius:9px;width:100%;min-height:46px;padding:10px 32px 10px 12px;font-size:12px;font-weight:600}.select-wrap svg{pointer-events:none;color:#666e5e;position:absolute;top:15px;right:10px}.project-location{color:#6d7467;align-items:center;gap:6px;margin-top:11px;font-size:11px;display:flex}.project-location svg{flex-shrink:0}.context-separator{background:var(--border);height:1px;margin:22px 0}.date-label{justify-content:space-between;align-items:center;display:flex}.date-label label{margin:0}.date-label button{color:#536d00;background:0 0;border:0;min-width:44px;min-height:44px;font-size:11px;font-weight:600}.date-wrap{margin-top:3px;position:relative}.date-wrap>svg{color:#747c6c;pointer-events:none;position:absolute;top:14px;left:11px}.date-wrap input{color:#333;background:#fafbf8;border:1px solid #a3aaa0;border-radius:9px;width:100%;min-width:0;min-height:46px;padding:10px 9px 10px 36px;font-size:12px}.civil-date{color:#6b7165;text-transform:capitalize;margin:10px 0 25px;font-size:10px}.progress-heading{justify-content:space-between;align-items:center;margin-bottom:9px;font-size:11px;display:flex}.progress-heading strong{color:#536d00;font-size:12px}.progress-track{background:#ecefe6;border-radius:3px;height:6px;overflow:hidden}.progress-track>span{background:var(--brand-secondary);border-radius:inherit;height:100%;transition:width .2s;display:block}.progress-description{color:#626958;margin:9px 0 0;font-size:10px}.gesture-card{background:#eaf0db;border:1px solid #dce5c7;border-radius:13px;margin-top:16px;padding:19px 18px}.gesture-heading{align-items:center;gap:9px;display:flex}.gesture-icon{color:#536d00;background:#dce8ba;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.gesture-heading h2{margin:0;font-size:12px;font-weight:700}.gesture-card>p{color:#626b52;margin:12px 0 16px;font-size:11px;line-height:1.8}.gesture-card>.attendance-toggle-help{border-top:1px solid #d8e2c1;margin:12px 0 0;padding-top:10px;font-size:12px;line-height:1.6;display:block}.gesture-legend{border-top:1px solid #d4dfbf;justify-content:space-between;align-items:center;gap:8px;padding-top:13px;display:flex}.gesture-legend>span{align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex}.legend-icon{background:#fff;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.legend-icon.absent{color:var(--absent)}.legend-icon.present{color:var(--present)}.local-note{color:#626958;align-items:start;gap:8px;margin:19px 9px;display:flex}.local-note svg{flex-shrink:0;margin-top:2px}.local-note p{margin:0;font-size:10px;line-height:1.8}.roster-card{border:1px solid var(--border);background:#fff;border-radius:14px;min-width:0;overflow:hidden}.roster-header{justify-content:space-between;align-items:center;gap:16px;padding:22px 24px 19px;display:flex}.roster-title{align-items:center;gap:9px;display:flex}.roster-title h2{letter-spacing:-.4px;margin:0;font-size:16px;font-weight:700}.roster-count{color:#5d6553;background:#f1f3ec;border-radius:5px;padding:3px 6px;font-size:10px;font-weight:600}.roster-header p{color:#72776d;margin:6px 0 0;font-size:11px}.project-code{letter-spacing:.6px;color:#6b7263;white-space:nowrap;border:1px solid #e3e7dc;border-radius:5px;padding:6px 8px;font-size:10px;font-weight:600}.roster-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:0 24px;display:flex}.search-wrap{flex:1;display:block;position:relative}.search-wrap svg{color:#71776b;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-wrap input{background:#fafbf8;border:1px solid #a3aaa0;border-radius:9px;width:100%;min-height:44px;padding:10px 12px 10px 37px;font-size:12px;display:block}.search-wrap input::placeholder{color:#73796c}.filter-caption{color:#626958;align-items:center;gap:6px;font-size:11px;display:flex}.filter-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:5px;padding:12px 24px 16px;display:flex}.filter-button{color:#6b7263;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;min-height:44px;padding:6px 10px;font-size:11px;font-weight:600;transition:background .15s;display:flex}.filter-button>span{text-align:center;background:#f1f3ec;border-radius:4px;min-width:18px;padding:2px 4px;font-size:10px}.filter-button:hover{background:#f5f7ef}.filter-button.active{color:#364a00;background:#edf3df;border-color:#c5d99b}.filter-button.active>span{color:#364a00;background:#dce9c4}.employee-list{margin:0;padding:0;list-style:none}.employee-shell{border-bottom:1px solid #edf0e8;position:relative;overflow:hidden}.employee-shell:last-child{border-bottom:0}.employee-row{z-index:1;cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;align-items:center;gap:12px;min-height:83px;padding:15px 24px;display:flex;position:relative}.employee-row:active{cursor:grabbing}.employee-avatar{color:#626f4c;background:#eff2e9;border-radius:11px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:12px;font-weight:600;display:grid}.avatar-present{color:var(--present);background:#e8f4e9}.avatar-absent{color:var(--absent);background:#fceded}.employee-info{flex:1;min-width:0}.employee-info h3{overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:600;line-height:1.6}.employee-info p{color:#636a5d;margin:3px 0 0;font-size:10px;line-height:1.5}.status-badge{border-radius:6px;justify-content:center;align-items:center;gap:4px;min-width:84px;padding:5px 7px;font-size:10px;font-weight:600;display:inline-flex}.status-present{color:var(--present);background:var(--present-soft)}.status-absent{color:var(--absent);background:var(--absent-soft)}.status-pending{color:var(--pending);background:var(--pending-soft)}.employee-actions{gap:4px;margin-left:4px;display:flex}.attendance-button{color:#707968;border:1px solid #dce2d3;border-radius:9px}.present-button:hover{background:var(--present-soft);color:var(--present);border-color:#b7d4bb}.absent-button:hover{background:var(--absent-soft);color:var(--absent);border-color:#e5b9be}.selected-present{color:var(--present);background:#e0f0e2;border-color:#5c9465;box-shadow:inset 0 0 0 1px #5c9465}.selected-absent{color:var(--absent);background:#fbe2e5;border-color:#c75e67;box-shadow:inset 0 0 0 1px #c75e67}.swipe-feedback{align-items:center;gap:8px;padding:0 20px;font-size:12px;font-weight:600;display:flex;position:absolute;inset:0}.swipe-present{color:#166534;background:#dcefdc;justify-content:flex-start}.swipe-absent{color:#9f1239;background:#fae0e3;justify-content:flex-end}.roster-footer{border-top:1px solid var(--border);color:#6f7666;background:#fbfcf8;justify-content:space-between;align-items:center;gap:12px;padding:15px 24px;font-size:10px;display:flex}.roster-footer>span:last-child{align-items:center;gap:5px;display:flex}.roster-footer svg{color:#536d00}.feedback-bar{justify-content:space-between;align-items:center;gap:14px;min-height:74px;display:flex}.save-feedback{color:#5f6b4a;align-items:center;gap:8px;font-size:11px;line-height:1.8;display:flex}.save-feedback svg{flex-shrink:0}.feedback-bar>button{flex-shrink:0;font-size:11px}.page-footer{color:#626958;border-top:1px solid #dee3d7;justify-content:space-between;align-items:center;gap:16px;padding:21px 0;font-size:10px;line-height:1.8;display:flex}.page-footer span>span{color:#626958;margin:0 6px}.empty-state{text-align:center;color:#707966;padding:48px 22px}.empty-state>svg{color:#72834c;margin:0 auto 16px}.empty-state h3{color:#333;margin:0 0 9px;font-size:15px;font-weight:600}.empty-state p{margin:0 0 16px;font-size:12px;line-height:1.7}.error-panel{color:#9f1239;background:#fff3f2;border-bottom:1px solid #f2cbd1;gap:12px;padding:18px 20px;font-size:12px;line-height:1.7;display:flex}.error-panel>svg{flex-shrink:0;margin-top:2px}.error-panel p{margin:0 0 10px}.dialog-icon{color:#9f1239;background:#fff0f1;border-radius:12px;place-items:center;width:44px;height:44px;margin-bottom:20px;display:grid}.loading-spinner{border:2px solid #e2e9d1;border-top-color:#688800;border-radius:50%;width:24px;height:24px;margin:0 auto 17px;animation:.8s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.note-button{color:#626958;border:1px solid #dce2d3;border-radius:9px;font-size:11px}.note-button.has-note{color:#364a00;background:#edf3df;border-color:#c5d99b}.attendance-note{color:#626958;background:#fff;align-items:flex-start;gap:8px;padding:0 24px 15px 76px;display:flex}.attendance-note>svg{flex-shrink:0;margin-top:3px}.attendance-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.7}.note-editor{z-index:2;background:#f8faf3;border-top:1px solid #e3e7dc;padding:17px 24px 20px;position:relative}.note-editor label{font-size:13px;font-weight:600;display:block}.note-editor>p{color:#626958;margin:7px 0 12px;font-size:11px;line-height:1.7}.note-editor textarea{resize:vertical;width:100%;min-height:95px;font:inherit;color:#333;background:#fff;border:1px solid #a3aaa0;border-radius:9px;padding:12px;font-size:13px;line-height:1.7;display:block}.note-editor textarea:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.note-editor-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}@media (width<=1023px){.header-inner{padding:0 24px}.main-layout{padding:28px 24px 0}.workspace-grid{grid-template-columns:1fr;gap:18px}.context-column{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;display:grid;position:static}.context-card{grid-row:span 2}.gesture-card{align-self:start;margin:0}.local-note{margin:0 6px}.summary-grid{gap:12px}.summary-card{padding:14px 16px 17px}.summary-top{font-size:11px}.summary-icon{width:28px;height:28px}}@media (width<=639px){.app-header{height:74px}.header-inner{gap:14px;padding:0 18px}.brand-full,.header-divider,.header-section,.company-avatar{display:none}.brand-mobile{align-items:center;gap:10px;display:inline-flex}.brand-mobile img{width:44px;height:auto}.brand-mobile>span{letter-spacing:-.5px;font-size:16px;font-weight:700}.brand-mobile strong{color:#707968;margin-left:2px;font-size:12px;font-weight:400}.main-layout{padding:25px 16px 0}.page-intro{flex-wrap:wrap;align-items:start;gap:15px;margin-bottom:20px}h1{letter-spacing:-1.1px;font-size:29px}.eyebrow{letter-spacing:1.4px;margin-bottom:10px;font-size:9px}.page-intro p{max-width:300px;margin-top:8px;font-size:12px}.reset-trigger{min-height:44px;padding:8px 12px;font-size:11px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.summary-card{border-radius:12px;padding:13px 14px 16px}.summary-card>strong{margin:10px 0 7px;font-size:30px}.summary-top{gap:4px;font-size:10px}.summary-card>p{font-size:9px}.summary-icon{border-radius:8px;width:27px;height:27px}.summary-icon svg{width:15px;height:15px}.context-column{display:block}.context-card{padding:19px 18px}.section-kicker{margin-bottom:16px}.select-wrap select{font-size:13px}.context-separator{margin:17px 0 9px}.date-wrap input{font-size:14px}.civil-date{margin-bottom:19px}.gesture-card{margin:12px 0 0;padding:14px 18px}.gesture-card>p{margin:9px 0 11px}.gesture-legend{padding-top:10px}.local-note{margin:13px 5px 0}.local-note p{font-size:10px}.roster-header{padding:19px 16px 17px}.roster-toolbar{padding:0 16px}.filter-caption{display:none}.filter-row{gap:2px;padding:10px 12px 12px}.filter-button{gap:4px;padding:6px 7px;font-size:10px}.filter-button>span{min-width:16px;font-size:9px}.employee-row{grid-template-columns:34px minmax(0,1fr) auto;gap:4px 10px;min-height:112px;padding:14px 15px;display:grid}.employee-avatar{border-radius:9px;grid-row:span 2;align-self:start;width:34px;height:34px;margin-top:3px;font-size:11px}.employee-info{grid-column:2}.employee-info h3{font-size:12px}.employee-info p{font-size:10px}.status-badge{grid-column:3;min-width:73px;padding:4px 5px;font-size:9px}.status-badge svg{width:11px;height:11px}.employee-actions{grid-column:1/4;gap:8px;margin:5px 0 0}.attendance-button{width:52px;height:44px}.note-editor{padding:16px}.note-editor textarea{font-size:16px}.attendance-note{padding:0 15px 14px}.roster-footer{padding:14px 16px;font-size:9px}.feedback-bar{align-items:start;min-height:74px;padding:15px 0}.save-feedback{font-size:10px}.save-feedback svg{margin-top:2px}.page-footer{flex-direction:column;align-items:start;gap:5px;padding:18px 0 24px;font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.feedback-bar.has-feedback{pointer-events:none;z-index:30;background:#fff;border:1px solid #cbd6ba;border-radius:13px;width:calc(100% - 32px);max-width:730px;padding:14px 18px;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #1118271a}.feedback-bar.has-feedback>button{pointer-events:auto}@media (width<=639px){.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.summary-card{padding:10px 8px 12px}.summary-top{align-items:start;min-height:25px;font-size:9px}.summary-icon,.summary-card>p{display:none}.summary-card>strong{margin:5px 0 0;font-size:25px}.context-card{padding:15px 16px}.section-kicker{margin-bottom:12px}.context-separator{margin:12px 0 4px}.civil-date{margin:7px 0 14px}.gesture-card{padding:12px 16px}.gesture-card>p{display:none}.gesture-heading{margin-bottom:9px}.gesture-icon{width:24px;height:24px}.gesture-legend{padding-top:8px}.feedback-bar.has-feedback{padding:12px;bottom:12px}}html{scroll-padding-top:150px}.brand-link{text-align:left;background:0 0;border:0;min-height:44px;padding:0}.journey-steps{margin:0 0 26px}.journey-steps ol{align-items:center;gap:30px;margin:0;padding:0;list-style:none;display:flex}.journey-steps li{color:#606660;align-items:center;gap:9px;font-size:13px;font-weight:600;display:flex}.step-number{background:#fff;border:1px solid #b7bcb4;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;display:grid}.journey-steps .current{color:#333}.journey-steps .current .step-number{background:var(--brand-secondary);border-color:var(--brand-secondary);color:#111827}.journey-steps .complete .step-number{color:#364a00;background:#edf3df;border-color:#c5d99b}.journey-card{border:1px solid var(--border);background:#fff;border-radius:18px;padding:30px}.journey-card h2{letter-spacing:-.5px;margin:16px 0 10px;font-size:22px;font-weight:700}.journey-description{color:var(--muted-foreground);margin:0 0 24px;font-size:13px;line-height:1.8}.project-options{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;display:grid}.project-search{gap:8px;margin-bottom:16px;display:grid}.project-search>label{font-size:13px;font-weight:600}.project-search .directory-search{max-width:none}.project-search-empty{color:var(--muted-foreground);padding:20px 0;font-size:13px;line-height:1.7}.project-option{cursor:pointer;background:#fbfcf8;border:1px solid #c7cec0;border-radius:13px;flex-direction:column;align-items:flex-start;gap:16px;padding:22px;display:flex;position:relative}.project-option.selected{background:#f2f7e5;border-color:#688800;box-shadow:inset 0 0 0 1px #688800}.project-option:focus-within{outline:2px solid var(--ring);outline-offset:3px}.project-option input{opacity:0;z-index:1;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.project-options:disabled .project-option{cursor:default;opacity:.65}.project-option-icon{color:#536d00;background:#edf1e5;border-radius:11px;place-items:center;width:47px;height:47px;display:grid}.project-option-details{flex-direction:column;align-items:flex-start;gap:12px;min-width:0;display:flex}.project-option strong{font-size:16px;line-height:1.6}.project-option-location{color:var(--muted-foreground);align-items:center;gap:6px;font-size:12px;display:flex}.project-option-check{color:#333;border:1px solid #a3aaa0;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:22px;right:22px}.selected .project-option-check{background:var(--brand-secondary);border-color:var(--brand-secondary)}.journey-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;margin-top:28px;padding-top:22px;display:flex}.journey-actions>span{color:var(--muted-foreground);font-size:12px;line-height:1.7}.date-step{max-width:760px;margin:0 auto}.journey-project{background:#f5f6f3;border-radius:12px;align-items:center;gap:14px;margin-bottom:24px;padding:18px;display:flex}.journey-project>svg{color:#536d00;flex-shrink:0}.journey-project strong{font-size:15px;line-height:1.6}.journey-project p{color:var(--muted-foreground);margin:7px 0 0;font-size:12px;line-height:1.7}.date-step .date-label{font-size:13px}.date-step .date-label button{min-width:44px;min-height:44px}.date-step .date-wrap input{min-height:48px;font-size:16px}.date-help{color:var(--muted-foreground);margin:12px 0 22px;font-size:12px;line-height:1.7}.date-invalid{color:var(--absent)}.journey-preview{background:#f2f7e5;border:1px solid #d9e5b2;border-radius:12px;padding:20px}.journey-preview>span{letter-spacing:1px;color:#536d00;margin-bottom:12px;font-size:10px;font-weight:700;display:block}.journey-preview strong{font-size:15px;line-height:1.6}.journey-preview p{margin:8px 0 0;font-size:13px;line-height:1.8}.journey-error{border:1px solid #f2cbd1;border-radius:12px;margin-bottom:20px}.active-journey{z-index:20;background:#f8faf3;border-bottom:1px solid #d9e5b2;position:sticky;top:0;box-shadow:0 4px 12px #33333308}.active-journey-inner{align-items:center;gap:14px;max-width:1272px;margin:auto;padding:15px 36px;display:flex}.active-journey-inner>svg{color:#536d00;flex-shrink:0}.active-journey-details{flex:1;min-width:0}.active-journey-details>strong{overflow-wrap:anywhere;font-size:14px;line-height:1.6;display:block}.active-journey-details>span{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;line-height:1.8;display:flex}.active-journey-details svg{flex-shrink:0}.past-day{color:var(--pending);background:var(--pending-soft);border-radius:5px;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}.change-journey{flex-shrink:0;font-size:12px}.fixed-project-name{margin:16px 0 8px;font-size:16px;line-height:1.6}.fixed-date-label{color:var(--muted-foreground);margin:0 0 7px;font-size:11px}.fixed-date{margin:0 0 24px;font-size:13px;font-weight:600;line-height:1.8}.employee-shell{scroll-margin-top:150px}@media (width<=1023px){.project-options{grid-template-columns:1fr}.project-option{flex-direction:row;align-items:center;padding-right:60px}.project-option-icon{flex-shrink:0}.active-journey-inner{padding:14px 24px}}@media (width<=639px){.journey-steps{margin-bottom:20px}.journey-steps ol{justify-content:space-between;gap:8px}.journey-steps li{gap:6px;font-size:11px}.step-number{width:26px;height:26px}.journey-card{padding:20px 16px}.journey-card h2{font-size:20px;line-height:1.5}.project-option{gap:12px;padding:16px 45px 16px 14px}.project-option-icon{width:36px;height:36px}.project-option strong{font-size:14px}.project-option-check{width:22px;height:22px;top:16px;right:13px}.project-option-location{align-items:flex-start;font-size:11px;line-height:1.7}.project-option-location svg{flex-shrink:0;margin-top:3px}.journey-actions{flex-wrap:wrap;gap:16px}.journey-actions>span{width:100%}.journey-actions>button:last-child{margin-left:auto}.active-journey-inner{flex-wrap:wrap;gap:7px;padding:10px 16px}.active-journey-inner>svg{display:none}.active-journey-details{flex-basis:100%}.active-journey-details>strong{font-size:12px}.active-journey-details>span{font-size:11px}.change-journey{min-height:44px;margin-left:auto;font-size:11px}}.page-intro h1:focus{outline:none}.project-option input:disabled{cursor:default}.attendance-completion{border-top:1px solid var(--border);background:#f8faf3;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.attendance-completion h3{margin:0 0 7px;font-size:13px;font-weight:600}.attendance-completion p{color:var(--muted-foreground);margin:0;font-size:11px;line-height:1.8}.attendance-completion>button{flex-shrink:0}@media (width<=639px){.attendance-completion{flex-direction:column;align-items:stretch;gap:16px;padding:20px 16px}}.login-shell{background:var(--background);flex-direction:column;min-height:100dvh;padding:24px;display:flex}.login-header{justify-content:space-between;align-items:center;gap:20px;width:min(1100px,100%);margin:0 auto;display:flex}.login-header>img{width:min(240px,65%);height:auto}.login-card{border:1px solid var(--border);background:#fff;border-radius:24px;width:min(460px,100%);margin:auto;padding:36px;box-shadow:0 16px 50px #1118270b}.login-emblem{color:#333;background:#b5e80344;border-radius:16px;margin-bottom:24px;padding:14px;display:inline-flex}.login-card .eyebrow{margin-bottom:12px}.login-card h1{outline:none;font-size:clamp(26px,5vw,34px);font-weight:700;line-height:1.15}.login-card h1 span{color:#91ba02}.login-card>p{color:#52525b;margin:16px 0 24px;line-height:1.6}.google-login-button{color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #747775;border-radius:4px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:48px;font:600 14px Arial,sans-serif;display:flex}.google-login-button:hover{background:#f2f2f2}.google-login-button:focus-visible,.account-trigger:focus-visible{outline-offset:3px;outline:3px solid #333}.login-card .login-account-help{overflow-wrap:anywhere;margin-bottom:24px;font-size:13px}.login-card .login-message{color:#713f12;background:#fef3c7;border-radius:10px;padding:14px;font-size:14px}.login-demo-note{color:#52525b;border-top:1px solid #d9d9d9;padding-top:20px;font-size:12px;line-height:1.6}.login-footer{text-align:center;color:#52525b;padding-top:28px;font-size:12px}.account-menu{position:relative}.account-trigger{color:#fff;cursor:pointer;background:#333;border-radius:50%;width:44px;height:44px;font-size:13px;font-weight:700}.account-trigger:disabled{opacity:.5;cursor:default}.account-panel{z-index:40;background:#fff;border:1px solid #d9d9d9;border-radius:16px;gap:12px;width:min(300px,100vw - 32px);padding:20px;display:grid;position:absolute;top:54px;right:0;box-shadow:0 12px 30px #11182722}.account-panel strong{font-size:14px}.account-panel>span{color:#52525b;overflow-wrap:anywhere;font-size:12px}@media (width<=480px){.login-shell{padding:20px 16px}.login-card{margin:40px auto;padding:28px 24px}}.app-navigation{flex-wrap:wrap;gap:8px;max-width:1272px;margin:auto;padding:14px 36px 0;display:flex}.app-navigation button{color:#525a48;cursor:pointer;border-radius:8px;min-height:44px;padding:10px 16px;font-size:13px;font-weight:600}.app-navigation button[aria-current=page]{color:#405300;background:#eaf0db}.app-navigation button:focus-visible,.directory-employee:focus-visible{outline-offset:3px;outline:3px solid #536d00}.app-navigation button:disabled{opacity:.5;cursor:default}.directory-toolbar{border:1px solid var(--border);background:var(--card);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;max-width:none;margin-bottom:20px;padding:16px;display:grid}.directory-search{min-width:0;max-width:520px;position:relative}.directory-search input{background:var(--card);padding-right:44px;font-size:14px}.directory-search input::-webkit-search-cancel-button{appearance:none}.directory-search-clear{width:44px;height:44px;color:var(--muted-foreground);border-radius:9px;place-items:center;display:grid;position:absolute;top:0;right:0}.directory-search-clear:hover{color:var(--foreground);background:var(--muted)}.directory-search-clear:focus-visible{outline-offset:-5px}.directory-status-segments{border:1px solid var(--border);background:var(--muted);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.directory-status-segments button{min-height:44px;color:var(--muted-foreground);border:1px solid #0000;border-radius:7px;padding:8px 16px;font-size:13px;font-weight:600;line-height:1.5}.directory-status-segments button:hover{background:var(--card);color:var(--foreground)}.directory-status-segments button[aria-pressed=true]{color:#405300;background:#eaf0db;border-color:#bccd8d}.directory-status-segments button:focus-visible{outline-offset:-3px}.directory-results-summary{color:var(--muted-foreground);margin:0 0 12px;font-size:13px;font-weight:500}@media (width<=899px){.directory-toolbar{grid-template-columns:minmax(0,1fr)}.directory-search{max-width:none}}@media (width<=639px){.directory-intro{flex-direction:column;align-items:stretch}.directory-status-segments button{padding:8px 4px}}.directory-state{border:1px solid var(--border);text-align:center;background:#fff;border-radius:14px;margin-top:20px;padding:36px 24px;font-size:14px;line-height:1.8}.directory-state p{margin-bottom:16px}.employee-directory-list{border:1px solid var(--border);background:#fff;border-radius:14px;overflow:hidden}.employee-directory-list>div+div{border-top:1px solid var(--border)}.directory-employee{text-align:left;cursor:pointer;align-items:center;gap:16px;width:100%;min-height:80px;padding:18px 22px;display:flex}.directory-employee:hover{background:#f7f9f1}.directory-avatar{color:#536d00;background:#eaf0db;border-radius:10px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:13px;font-weight:700;display:grid}.directory-identity{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.directory-identity strong{font-size:14px;font-weight:600}.directory-identity>span{color:var(--muted-foreground);font-size:12px}.directory-pagination{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;font-size:12px;display:flex}.employee-profile{border:1px solid var(--border);background:#fff;border-radius:14px;margin-top:24px;padding:28px}.directory-profile-header{border-bottom:1px solid var(--border);align-items:center;gap:24px;padding-bottom:24px;display:flex}.directory-profile-header .profile-title{border-bottom:0;flex:1;min-width:0;padding-bottom:0}.directory-profile-header .profile-title>div{min-width:0}.directory-profile-actions{flex-shrink:0;gap:10px;display:flex}.directory-profile-actions button{border:1px solid #0000;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s}.directory-profile-actions .directory-action-edit{box-shadow:0 2px 4px #35470016}.directory-profile-actions .directory-action-edit:hover{box-shadow:0 3px 8px #35470024}.directory-profile-actions .directory-action-deactivate{color:#805d12;background:#fffbeb;border-color:#e5d6ab}.directory-profile-actions .directory-action-deactivate:hover{background:#fff3cf;border-color:#cfb979}.directory-profile-actions .directory-action-reactivate{color:#466400;background:#f0f6df;border-color:#c2d596}.directory-profile-actions .directory-action-reactivate:hover{background:#e4eecb;border-color:#a7bf72}.directory-profile-actions .directory-action-delete{color:var(--destructive);background:#fff;border-color:#edc6c3}.directory-profile-actions .directory-action-delete:hover{background:#fff1f0;border-color:#da9b95}@media (width<=899px){.directory-profile-header{flex-direction:column;align-items:stretch;gap:20px}}@media (width<=639px){.directory-profile-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.directory-profile-actions button{padding-inline:12px}.directory-profile-actions .directory-action-delete{grid-column:1/-1}}.profile-title{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding-bottom:24px;display:flex}.profile-title>svg{color:#536d00;flex-shrink:0}.assignment-board{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start;gap:24px;display:grid}.assignment-panel{border:1px solid var(--border);background:#fff;border-radius:16px;min-width:0;padding:20px}.assignment-panel-heading,.assignment-panel-heading h2{align-items:center;gap:10px;display:flex}.assignment-panel-heading{flex-wrap:wrap;justify-content:space-between;margin-bottom:20px}.assignment-panel-heading h2{font-size:17px;font-weight:700}.assignment-panel-heading>span,.assignment-count{color:var(--muted-foreground);font-size:12px}.assignment-panel .search-wrap,.assignment-dialog .search-wrap{width:100%;min-width:0;margin-bottom:16px}.assignment-filters{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.assignment-filters button{border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:12px}.assignment-filters button[aria-pressed=true]{color:#465b00;background:#eff5db;border-color:#a3b354}.assignment-employee{border:1px solid var(--border);background:#fafbf7;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:10px;padding:16px 12px;display:flex}.assignment-employee[draggable=true]{cursor:grab;-webkit-user-select:none;user-select:none}.assignment-employee.is-saving{opacity:.65;cursor:progress}.assignment-grip{color:#87916b;flex-shrink:0;margin-top:2px}.assignment-identity{overflow-wrap:anywhere;flex:1;gap:5px;min-width:0;display:grid}.assignment-identity strong{font-size:13px}.assignment-identity span{color:var(--muted-foreground);font-size:11px}.assignment-menu{flex-shrink:0;position:relative}.assignment-menu summary{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.assignment-menu summary::-webkit-details-marker{display:none}.assignment-menu-items{z-index:10;border:1px solid var(--border);background:#fff;border-radius:10px;min-width:180px;padding:6px;position:absolute;top:40px;right:0;box-shadow:0 8px 24px #0002}.assignment-menu-items button{text-align:left;border-radius:5px;width:100%;padding:10px;font-size:13px;display:block}.assignment-menu-items button:hover,.assignment-menu summary:hover{background:#eff5db}.assignment-center{border:1px solid var(--border);border-radius:12px;margin-bottom:12px;transition:background .12s,border-color .12s}.assignment-center.is-drop-target{background:#eff5db;border-color:#719300;outline:2px solid #a9c640}.assignment-center.is-inactive{background:#f4f4f4}.assignment-center-heading{text-align:left;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:18px 14px;display:flex}.assignment-center-heading>span:first-child{overflow-wrap:anywhere;gap:6px;min-width:0;display:grid}.assignment-center-heading strong{font-size:13px}.assignment-center-heading>span:first-child>span{color:var(--muted-foreground);font-size:11px}.assignment-count{background:#eff5db;border-radius:30px;flex-shrink:0;padding:6px 10px}.assignment-members{padding:0 12px 12px}.assignment-members>p{padding:12px 0;font-size:13px}.assignment-feedback{color:#465b00;min-height:24px;margin-bottom:16px;font-size:13px}.assignment-feedback:empty{min-height:0;margin-bottom:0}.assignment-recovery{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;font-size:13px;display:flex}.assignment-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.assignment-dialog>p{margin:12px 0 20px;font-size:13px}.assignment-picker{gap:8px;display:grid}.assignment-picker button{text-align:left;border:1px solid var(--border);overflow-wrap:anywhere;border-radius:8px;gap:6px;padding:14px;display:grid}.assignment-picker strong{font-size:13px}.assignment-picker span{color:var(--muted-foreground);font-size:12px}.assignment-picker button:disabled{opacity:.5;cursor:default}.assignment-picker button:not(:disabled):hover{background:#eff5db;border-color:#719300}.assignment-history{gap:18px;font-size:13px;display:grid}.assignment-history li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding-bottom:16px}.assignment-history p{margin:8px 0}.assignment-history span{color:var(--muted-foreground);font-size:12px}@media (width<=800px){.assignment-board{grid-template-columns:minmax(0,1fr)}.assignment-panel{padding:16px}}.profile-title h2{overflow-wrap:anywhere;font-size:20px;font-weight:700}.profile-title p{color:var(--muted-foreground);margin-top:8px;font-size:13px}.employee-form{border:1px solid var(--border);background:#fff;border-radius:16px;margin-top:24px;padding:24px}.employee-form-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.employee-form-heading h2{letter-spacing:-.5px;font-size:22px;font-weight:700}.employee-form-help{color:var(--muted-foreground);flex-shrink:0;position:relative}.employee-form-help>button{color:inherit}.employee-form-tooltip{z-index:5;border:1px solid var(--border);background:#f8faf4;border-radius:10px;width:min(320px,100vw - 64px);padding:12px 14px;font-size:13px;line-height:1.6;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #20301424}.employee-form fieldset{min-width:0}.employee-form-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.employee-form-fields>*{min-width:0}.employee-form-field{align-content:start;gap:8px;display:grid}.employee-form-field label{font-size:14px;font-weight:600}.employee-form-field :is(input,select){width:100%;min-width:0;height:44px;color:var(--foreground);background:#fff;border:1px solid #a3aaa0;border-radius:9px;padding:10px 12px;font-size:14px}.employee-form-field input::placeholder{color:var(--muted-foreground)}.employee-full-name{grid-column:1/-1}.employee-full-name input[readonly]{color:#4b5540;background:#f5f7f0}.employee-form-field [aria-invalid=true]{border-color:var(--destructive)}.employee-field-hint,.employee-field-error{margin:0;font-size:12px;line-height:1.6}.employee-field-hint{color:var(--muted-foreground)}.employee-field-error{color:var(--destructive)}.employee-catalog-error{margin-top:16px;font-size:13px}.employee-catalog-error p{margin-bottom:8px}.employee-form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;display:flex}@media (width<=639px){.employee-form{padding:20px 16px}.employee-form-fields{grid-template-columns:minmax(0,1fr)}.employee-form-actions{flex-direction:column}}.employee-profile dl{grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;display:grid}.employee-profile dt{color:var(--muted-foreground);margin-bottom:8px;font-size:12px}.employee-profile dd{overflow-wrap:anywhere;font-size:14px;line-height:1.7}@media (width<=639px){.app-navigation{gap:4px;padding:12px 16px 0}.app-navigation button{padding:10px 12px;font-size:12px}.directory-employee{gap:12px;padding:16px 14px}.directory-pagination button{padding-left:10px;padding-right:10px}.employee-profile{padding:20px 16px}.employee-profile dl{grid-template-columns:1fr;gap:20px}}.cost-center-form{border:1px solid var(--color-border);background:#fff;border-radius:1rem;margin-top:1.5rem;padding:1.5rem}.cost-center-form fieldset{min-width:0}.cost-center-form legend{margin-bottom:1rem;font-size:1.2rem;font-weight:700}.cost-center-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.cost-center-fields label{flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:600;display:flex}.cost-center-fields input,.cost-center-fields select,.cost-center-fields textarea{width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.6rem;padding:.65rem .75rem;font-weight:400}.cost-center-fields input[readonly]{background:#f1f5f9}.cost-center-fields textarea{resize:vertical}.cost-center-fields :is(input,select,textarea):focus-visible{outline-offset:2px;outline:2px solid #286b53}.cost-center-description{grid-column:1/-1}.cost-center-map-editor{grid-column:1/-1;min-width:0}.cost-center-map-editor summary{cursor:pointer;font-size:.9rem;font-weight:600}.cost-center-map-editor p{margin:.75rem 0;font-size:.85rem;line-height:1.6}.cost-centers-directory .profile-title{flex-wrap:wrap}.cost-center-location,.cost-center-employees{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.cost-center-location h3,.cost-center-employees h3{font-size:1rem;font-weight:700}.cost-center-location>a{color:#405300;margin-top:.75rem;text-decoration:underline;display:inline-block}.cost-center-location>p,.cost-center-employees>p{margin-top:.75rem;font-size:.9rem}.cost-center-map-preview{border:1px solid var(--border);background:#f4f6ed;border-radius:.75rem;width:100%;max-width:360px;height:220px;margin-top:1rem;position:relative;overflow:hidden}.cost-center-map-preview iframe{pointer-events:none;border:0;width:100%;height:100%}.cost-center-map-preview>a{position:absolute;inset:0}.cost-center-map-preview:focus-within{outline-offset:3px;outline:2px solid #405300}.cost-center-employees-heading{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.cost-center-employee-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:.75rem;display:grid}.cost-center-employee{cursor:default;-webkit-user-select:text;user-select:text;height:100%;margin:0}.cost-center-actions{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}@media (width<=600px){.cost-centers-directory .directory-employee{grid-template-columns:40px minmax(0,1fr) 19px;gap:8px 12px;display:grid}.cost-centers-directory .directory-employee .assignment-count{grid-column:2;justify-self:start}.cost-centers-directory .directory-employee>svg{grid-area:1/3/3}.cost-center-fields{grid-template-columns:minmax(0,1fr)}.cost-center-form{padding:1rem}}.real-attendance{width:100%;min-width:0}.real-home-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.real-home-grid .journey-card{width:100%;max-width:none;margin:0}.real-home-grid .project-options{grid-template-columns:minmax(0,1fr);max-height:430px;padding:3px;overflow-y:auto}.real-home-grid .project-option{grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:16px;display:grid}.real-home-grid .project-option-icon{width:42px;height:42px}.real-home-grid .project-option-details{overflow-wrap:anywhere;gap:5px}.real-home-grid .project-option-check{position:static}.real-reports h2{font-size:1.5rem;font-weight:700}.real-reports{position:sticky;top:24px}.real-form{gap:1rem;min-width:0;display:grid}.real-form label{flex-direction:column;gap:.4rem;font-size:.875rem;font-weight:600;display:flex}.real-form input,.real-form select,.real-form textarea{color:#173e35;background:#fff;border:1px solid #d5ded9;border-radius:.5rem;width:100%;min-height:44px;padding:.65rem}.real-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.real-notice{overflow-wrap:anywhere;background:#edf3ef;border-left:3px solid #386551;margin:1rem 0;padding:1rem}.real-muted{color:#57655e;font-size:.875rem}.real-check{align-items:start;gap:.65rem;min-height:44px;display:flex}.real-check input{flex-shrink:0;width:20px;height:20px;margin-top:2px}.real-past-date{margin:16px 0;font-size:.875rem}.real-prewrap,.real-attendance .attendance-note p{white-space:pre-wrap;overflow-wrap:anywhere}.real-jornada-actions{background:#f6f9ec;border-top:1px solid #dce4c8;gap:.75rem;padding:1.25rem;display:grid}.real-jornada-actions>p{color:#5a654d;margin:0;font-size:13px;line-height:1.6}.real-jornada-actions>button{justify-self:start}.real-jornada-actions .real-jornada-button{border:1px solid #87ac00;min-height:48px;padding-inline:20px;transition:background-color .16s,border-color .16s,box-shadow .16s;box-shadow:0 3px 8px #617d0024}.real-jornada-actions .real-jornada-button:hover:not(:disabled){border-color:#6e9000;box-shadow:0 4px 12px #617d0033}.real-jornada-actions .real-jornada-button:disabled{box-shadow:none}@media (width<=639px){.real-jornada-actions>button,.real-jornada-actions .real-actions button{width:100%}}@media (width<=800px){.real-home-grid{grid-template-columns:minmax(0,1fr)}.real-reports{position:static}}.real-assigned-row,.real-roster-entry{overflow:visible}.real-assigned-row .employee-row,.real-assigned-row .employee-row:active{cursor:default}.real-inclusion-help{color:var(--pending)}.real-inclusion-tooltip{z-index:5;border:1px solid var(--border);color:#45513b;overflow-wrap:anywhere;background:#f8faf4;border-radius:10px;width:min(360px,100vw - 70px);margin:0;padding:12px 14px;font-size:12px;line-height:1.6;display:none;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #20301424}.real-roster-action[data-help-open=true] .real-inclusion-tooltip{display:block}.real-roster-action:has(.real-inclusion-help:focus-visible) .real-inclusion-tooltip{display:block}:is(.real-assigned-row:has(.real-roster-action[data-help-open=true]),.real-roster-entry:has(.real-roster-action[data-help-open=true])){z-index:10}:is(.real-assigned-row:has(.real-inclusion-help:focus-visible),.real-roster-entry:has(.real-inclusion-help:focus-visible)){z-index:20}@media (hover:hover){.real-assigned-row:hover .real-inclusion-tooltip,.real-roster-entry:hover .real-inclusion-tooltip{display:block}.real-assigned-row:hover,.real-roster-entry:hover{z-index:20}}.real-roster-action{z-index:2;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;display:flex;position:relative}.real-roster-action-button{width:210px;max-width:100%}.real-withdrawn-actions{justify-content:flex-end;align-items:center;padding:0 24px 12px;display:flex;position:relative}@media (width<=640px){.real-withdrawn-actions{padding:0 15px 12px}}.real-entry-menu{z-index:100;background:#fff;border:1px solid #e3e8dc;border-radius:12px;width:min(250px,100vw - 16px);max-height:calc(100vh - 16px);padding:6px;position:fixed;overflow-y:auto;box-shadow:0 6px 24px #2433151a,0 2px 6px #2433150a}.real-entry-menu button{text-align:left;color:#333;border-radius:8px;align-items:center;gap:9px;width:100%;min-height:44px;padding:6px 9px;font-size:13px;font-weight:600;line-height:1.4;display:flex}.real-entry-menu button+button{margin-top:3px}.real-entry-menu button:hover:not(:disabled){background:#f3f8e4}.real-entry-menu button:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:-2px;background:#f3f8e4}.real-entry-menu-icon{color:#91ba02;background:#f0f7dc;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.real-entry-menu-icon svg{width:16px;height:16px}.real-entry-menu .real-entry-unassign{color:#b91c1c}.real-entry-unassign .real-entry-menu-icon{color:#b91c1c;background:#fef2f2}.real-entry-menu .real-entry-unassign:hover:not(:disabled){background:#fef2f2}.real-entry-menu button:disabled{color:#8b9385;cursor:not-allowed}.real-entry-menu button:disabled .real-entry-menu-icon{color:#8b9385;background:#f3f4f1}.real-entry-menu p{color:#66705e;margin:6px 9px;font-size:11px;line-height:1.45}.real-entry-menu .real-entry-menu-hint{border-top:1px solid #e9eddf;align-items:flex-start;gap:7px;margin-top:6px;padding-top:9px;display:flex}.real-entry-menu-hint svg{flex-shrink:0;width:13px;height:13px;margin-top:1px}.attendance-button.real-entry-menu-trigger[aria-expanded=true]{border-color:var(--brand-secondary);color:#617d00;background:#f0f7dc}.attendance-button.real-entry-menu-trigger:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:2px}.real-novelty-menu{overscroll-behavior:contain;width:min(280px,100vw - 16px);max-height:min(360px,100dvh - 16px)}.real-novelty-menu button{justify-content:space-between}.real-novelty-registered{color:#607800;flex-shrink:0;align-items:center;gap:4px;font-size:10px;font-weight:500;display:inline-flex}.real-novelty-registered svg{width:13px;height:13px}.real-novelty-list{gap:8px;margin:0;padding:0 24px 16px;list-style:none;display:grid}.real-novelty-list li{background:#f8faf4;border:1px solid #e4e8dd;border-radius:10px;align-items:flex-start;gap:8px;display:flex}.real-novelty-content{text-align:left;border-radius:10px;flex:1;align-items:flex-start;gap:10px;min-width:0;min-height:44px;padding:12px;display:flex}.real-novelty-content>svg{color:#738900;flex-shrink:0;width:16px;height:16px;margin-top:2px}.real-novelty-content>span{overflow-wrap:anywhere;gap:4px;min-width:0;font-size:13px;line-height:1.5;display:grid}.real-novelty-content span span{color:#63705b;white-space:pre-wrap}.real-novelty-content:hover:not(:disabled){background:#edf3df}.real-novelty-content:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:-2px}.real-novelty-remove{color:#7a856f;flex-shrink:0}.real-novelty-remove:hover:not(:disabled){color:var(--destructive);background:#fff1f0}.real-novelty-dialog{overscroll-behavior:contain;width:min(480px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--foreground);background:#fff;border:1px solid #e3e8dc;border-radius:16px;margin:auto;padding:24px;position:fixed;inset:0;overflow-y:auto;box-shadow:0 16px 60px #24331526}.real-novelty-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#17201066}.real-novelty-dialog-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.real-novelty-dialog-heading h2{overflow-wrap:anywhere;margin:4px 0 0;font-size:22px;font-weight:700}.real-novelty-dialog-heading>button{flex-shrink:0}.real-novelty-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#687358;font-size:10px;font-weight:600}.real-novelty-context{overflow-wrap:anywhere;border-bottom:1px solid #e8ebdf;gap:4px;margin:16px 0 20px;padding-bottom:16px;font-size:13px;display:grid}.real-novelty-context span{color:#737c68;font-size:12px}.real-novelty-dialog form{gap:10px;display:grid}.real-novelty-dialog label{font-size:13px;font-weight:600}.real-novelty-dialog label span{color:#737c68;font-weight:400}.real-novelty-dialog textarea{resize:vertical;border:1px solid #d5ddcb;border-radius:10px;width:100%;min-height:112px;padding:12px;font-size:14px}.real-novelty-dialog textarea:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:2px}.real-novelty-dialog textarea[aria-invalid=true]{border-color:var(--destructive)}.real-novelty-count{text-align:right;color:#737c68;margin:0;font-size:11px}.real-novelty-error{color:var(--destructive);margin:0;font-size:13px}.real-novelty-dialog-actions{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.real-novelty-review,.real-novelty-discard{background:#fffcf1;border:1px solid #e4dcbf;border-radius:10px;gap:10px;padding:12px;font-size:13px;display:grid}.real-novelty-current{white-space:pre-wrap;overflow-wrap:anywhere}@media (width<=639px){.real-novelty-list{padding:0 15px 12px}.real-novelty-dialog{padding:20px}.real-novelty-dialog-actions{flex-direction:column}.real-novelty-dialog-actions button{width:100%}}.real-assignment-editor{background:#f5f8f3;border-top:1px solid #dbe4d6;gap:10px;padding:18px 24px;display:grid}.real-assignment-editor p{font-size:13px;line-height:1.5}.real-assignment-editor label{font-size:13px;font-weight:600}.real-assignment-editor input,.real-assignment-editor select{background:#fff;border:1px solid #cbd6c7;border-radius:8px;width:100%;min-width:0;padding:10px}@media (width<=640px){.real-assignment-editor{padding:15px}}.swipe-feedback{pointer-events:none}.real-assignment-editor{z-index:1;position:relative}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
