/*! tailwindcss v4.3.2 | 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,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--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}}}@layer theme{:root,:host{--spacing:4px;--container-md:28rem;--font-weight-normal:400;--font-weight-semibold:600;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:17px;--text-xl:19px;--text-3xl:28px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:14px;--radius-2xl:16px}}@layer base{*{box-sizing:border-box}body{min-height:100svh;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3,h4{color:var(--text-h);margin:0;font-weight:600}h2{font-size:19px;font-weight:700}h3{margin-bottom:8px;font-size:15px}h4{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:4px;font-size:13px}p{margin:0}code{font-family:var(--mono);background:var(--muted-bg);color:var(--text-h);border-radius:4px;padding:2px 6px;font-size:13px}a{color:var(--accent)}input,select,textarea,button{font:inherit;color:var(--text-h)}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px 8px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}}@layer components{.layout{flex-direction:column;min-height:100svh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:6px 16px;display:flex}.topbar-brand{align-items:center;gap:6px;display:flex}.brand-mark{vertical-align:middle;align-items:center;display:inline-flex}.brand-name{color:var(--text-h);letter-spacing:-.3px;font-weight:700}.topbar-selectors{flex-wrap:wrap;flex:1;gap:8px;display:flex}.topbar-actions{align-items:center;gap:8px;display:flex}.layout-body{flex:1;align-items:stretch;min-height:0;display:flex}.sidebar{background:var(--sidebar-bg);width:200px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;gap:16px;padding:12px 8px;display:flex}.sidebar-section{flex-direction:column;gap:2px;display:flex}.sidebar-heading{text-transform:uppercase;letter-spacing:.6px;color:var(--sidebar-muted);padding:0 8px 4px;font-size:11px;font-weight:600}.sidebar-project-select{margin:0 4px 6px}.side-link{color:var(--sidebar-text);white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:5px 8px;line-height:1.25;text-decoration:none;display:flex}.side-link svg{opacity:.8;flex-shrink:0}.side-link:hover{background:var(--sidebar-text)}@supports (color:color-mix(in lab, red, red)){.side-link:hover{background:color-mix(in srgb, var(--sidebar-text) 12%, transparent)}}.side-link.active{color:var(--accent-text);background:var(--accent);font-weight:600}.side-link.active svg{opacity:1}.content{width:100%;max-width:1280px;margin:0 auto;padding:16px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.page-head-actions{align-items:center;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;margin-bottom:12px;padding:12px}.card-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.form-row{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:8px;display:flex}.field{flex-direction:column;gap:2px;min-width:0;display:flex}.field>span{color:var(--text);font-size:13px;font-weight:500}.field-grow{flex:1;min-width:220px}.field-grow textarea{resize:vertical}.card-highlight{border-left:4px solid var(--accent)}.optional-details{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.field-inline{flex-direction:row;align-items:center;gap:8px}.field-check{flex-direction:row;align-items:center;gap:8px;margin-bottom:10px}.filter-row{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}.hint{color:var(--muted);font-size:13px}.form-error{color:var(--err);margin:6px 0;font-size:14px}.empty-state{color:var(--muted);text-align:center;padding:16px 0}.btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:5px 12px;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-text);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{border-color:var(--border);color:var(--text-h);background:var(--surface)}.btn-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-danger{background:var(--err);color:var(--err-text);font-weight:600}.btn-danger:hover:not(:disabled){background:var(--err)}@supports (color:color-mix(in lab, red, red)){.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--err) 85%, black)}}.btn-sm{padding:2px 8px;font-size:13px}.btn-row{align-items:center;gap:6px;display:inline-flex}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);border-radius:8px;line-height:1.25;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:4px 8px}.table th{text-transform:uppercase;letter-spacing:.4px;color:var(--table-head-text);background:var(--table-head-bg);border-bottom:none;font-size:12px;font-weight:600}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table tbody tr:hover{background:var(--hover-bg)}.table tbody tr:last-child td{border-bottom:none}.table tfoot td{color:var(--text-h);border-top:1px solid var(--border);border-bottom:none;font-weight:600}.table .num{text-align:right;font-variant-numeric:tabular-nums}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge-ok{color:var(--ok);background:var(--ok-bg)}.badge-warn{color:var(--warn);background:var(--warn-bg)}.badge-err{color:var(--err);background:var(--err-bg)}.badge-muted{color:var(--muted);background:var(--muted-bg)}.answer-block{margin-top:12px}.answer-text{white-space:pre-wrap;color:var(--text-h);margin:4px 0 8px}.answer-original{color:var(--text);font-style:italic}.answer-edit textarea{width:100%;margin-bottom:8px}.period-report-textarea{resize:vertical;width:100%;margin-bottom:8px;font-family:inherit}.audio-player{max-width:320px;height:36px}.audio-label{color:var(--text-muted,var(--text));margin-right:4px;font-size:.85em}.photo-grid{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.photo-grid img{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:120px;height:120px}.invite-result{background:var(--ok-bg);border-radius:8px;margin-top:12px;padding:10px 12px}.reject-form{align-items:center;gap:6px;display:inline-flex}.task-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.task-list li{align-items:center;gap:10px;display:flex}.task-done{color:var(--muted);text-decoration:line-through}.lang-select,.select{min-width:0}.worker-page{flex-direction:column;gap:14px;width:100%;max-width:480px;margin:0 auto;padding:16px;display:flex}.worker-header{align-items:center;gap:10px;display:flex}.worker-header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.worker-project-select{width:100%;padding:14px;font-size:18px}.worker-actions{flex-direction:column;gap:12px;display:flex}.worker-action{text-align:center;color:var(--text-h);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:26px 16px;font-size:19px;font-weight:600;text-decoration:none;display:flex}.worker-action:active{border-color:var(--accent)}.worker-footer{text-align:center;margin-top:8px}.worker-submitted{align-self:flex-start}.btn-block{justify-content:center;width:100%;padding:14px;font-size:17px}.btn-record{border-radius:999px;padding:14px 22px;font-size:16px}.hours-stepper{align-items:stretch;gap:8px;display:flex}.hours-stepper input{text-align:center;width:90px;font-size:18px}.hours-stepper .btn{padding:8px 18px;font-size:20px}.entry-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.entry-list li{justify-content:space-between;align-items:center;gap:8px;display:flex}@media (width<=640px){.content{padding:12px}.table{display:block;overflow-x:auto}.layout-body{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap;gap:16px;width:100%;padding:10px 12px}.sidebar-section{flex-flow:wrap;align-items:center;gap:4px}.sidebar-heading{width:100%;padding:0 0 2px}.sidebar-project-select{margin:0 4px 0 0}}.password-input{display:flex;position:relative}.password-input input{flex:1;min-width:0;padding-right:40px}.password-input button{width:38px;color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;right:0}.password-input button:hover{color:var(--text-h)}}@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.m-0{margin:0}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-8{height:calc(var(--spacing) * 8)}.h-full{height:100%}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-svh{min-height:100svh}.w-1\/3{width:33.3333%}.w-2\/3{width:66.6667%}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-full{width:100%}.max-w-\[380px\]{max-width:380px}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-56{min-width:calc(var(--spacing) * 56)}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.list-none{list-style-type:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(160px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-accent{border-color:var(--accent)}.border-border{border-color:var(--border)}.border-text-h{border-color:var(--text-h)}.bg-accent{background-color:var(--accent)}.bg-accent-soft{background-color:var(--accent-soft)}.bg-bg{background-color:var(--bg)}.bg-err-bg{background-color:var(--err-bg)}.bg-ok-bg{background-color:var(--ok-bg)}.bg-sidebar-bg{background-color:var(--sidebar-bg)}.bg-surface{background-color:var(--surface)}.bg-transparent{background-color:#0000}.bg-warn-bg{background-color:var(--warn-bg)}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-center{text-align:center}.align-\[-2px\]{vertical-align:-2px}.align-middle{vertical-align:middle}.font-mono{font-family:var(--mono)}.text-3xl{font-size:var(--text-3xl)}.text-lg{font-size:var(--text-lg)}.text-md{font-size:var(--text-md)}.text-sm{font-size:var(--text-sm)}.text-xl{font-size:var(--text-xl)}.text-xs{font-size:var(--text-xs)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--accent)}.text-accent-text{color:var(--accent-text)}.text-err{color:var(--err)}.text-muted{color:var(--muted)}.text-ok{color:var(--ok)}.text-sidebar-muted{color:var(--sidebar-muted)}.text-sidebar-text{color:var(--sidebar-text)}.text-text-h{color:var(--text-h)}.text-warn{color:var(--warn)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-60{opacity:.6}.shadow-card{--tw-shadow:var(--shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-accent{outline-color:var(--accent)}.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,)}.select-none{-webkit-user-select:none;user-select:none}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg:#d1d5db;--hover-bg:#f3f4f6;--surface:#fff;--border:#d1d5db;--text:#111827;--text-h:#030712;--table-head-bg:#1f2937;--table-head-text:#fff;--accent:var(--brand,#2563eb);--accent-hover:var(--brand-hover,#1d4ed8);--accent-text:var(--brand-text,#fff);--accent-soft:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-soft:color-mix(in srgb, var(--accent) 45%, white)}}:root{--accent-bg:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-bg:color-mix(in srgb, var(--accent) 10%, transparent)}}:root{--sidebar-bg:var(--brand-sidebar,#1f2937);--sidebar-text:var(--brand-sidebar-text,#fff);--sidebar-muted:var(--sidebar-text)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-muted:color-mix(in srgb, var(--sidebar-text) 65%, transparent)}}:root{--ok:#16a34a;--ok-bg:#16a34a1f;--warn:#b45309;--warn-bg:#d9770624;--err:#dc2626;--err-bg:#dc26261a;--err-text:#fff;--muted:#4b5563;--muted-bg:#4b55631f;--shadow:#1118271f 0 1px 3px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:15px/1.35 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0b0d12;--hover-bg:#ffffff0d;--surface:#171922;--border:#363a4a;--text:#d1d5db;--text-h:#f9fafb;--table-head-bg:#262a38;--table-head-text:#f3f4f6;--accent:var(--brand-dark,#3b82f6);--accent-hover:var(--brand-dark-hover,#60a5fa);--accent-text:var(--brand-dark-text,#fff);--accent-soft:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-soft:color-mix(in srgb, var(--accent) 55%, black)}}:root{--accent-bg:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-bg:color-mix(in srgb, var(--accent) 16%, transparent)}}:root{--sidebar-bg:var(--brand-sidebar,#111318);--ok:#4ade80;--ok-bg:#4ade801f;--warn:#fbbf24;--warn-bg:#fbbf241f;--err:#f87171;--err-bg:#f871711f;--err-text:#0f1117;--muted:#9ca3af;--muted-bg:#9ca3af24;--shadow:#0006 0 1px 2px}}@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-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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}
