:root{--background:#f3f4ef;--surface:#ffffff;--surface-soft:#f8f8f4;--ink:#18201c;--muted:#69726d;--line:#dde1da;--accent:#b94722;--accent-dark:#a83b19;--deep:#172b24;--success:#3b7a59}*{box-sizing:border-box}html{background:var(--background)}body,html{overflow-x:hidden}body{margin:0;color:var(--ink);background:radial-gradient(circle at 80% 0,rgb(217 87 43/8%),transparent 28rem),var(--background);font-family:Inter,Aptos,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}h1,h2,p{margin-top:0}h1,h2,strong{font-family:Manrope,Aptos,Segoe UI,Arial,sans-serif}.app-shell{display:grid;min-height:100vh;grid-template-columns:260px 1fr}.sidebar{display:flex;position:sticky;top:0;height:100vh;padding:28px 22px;flex-direction:column;color:#f7f7f2;background:var(--deep);overflow-y:auto}.brand{display:flex;gap:11px;align-items:center;padding:0 8px 26px;border-bottom:1px solid rgb(255 255 255/12%)}.brand-symbol{width:48px;height:48px;flex:0 0 auto;object-fit:contain}.brand-copy{min-width:0}.brand-copy span,.brand-copy strong{display:block}.brand-copy strong{color:white;font-size:15px}.brand-copy span{margin-top:3px;overflow:hidden;color:#ff7b32;font-size:9px;font-weight:800;letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.nav-list{display:grid;gap:6px;margin-top:28px}.nav-item{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:10px;color:rgb(255 255 255/68%);font-size:14px;text-decoration:none}.nav-item.active{color:white;background:rgb(255 255 255/10%)}.nav-dot{width:7px;height:7px;border:1px solid;border-radius:50%}.nav-item.active .nav-dot{border-color:var(--accent);background:var(--accent)}.nav-badge{display:grid;min-width:20px;height:20px;margin-left:auto;padding:0 6px;place-items:center;border-radius:999px;color:white;background:var(--accent);font-size:9px;font-weight:800}.sidebar-note{margin-top:18px;padding:18px;border:1px solid rgb(255 255 255/10%);border-radius:14px;background:rgb(255 255 255/5%)}.sidebar-user{display:flex;gap:10px;align-items:center;margin-top:auto;padding:18px 8px 12px;border-top:1px solid rgb(255 255 255/10%)}.sidebar-user span,.sidebar-user strong{display:block}.sidebar-user strong{max-width:145px;overflow:hidden;color:white;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.sidebar-user div>span{margin-top:2px;color:rgb(255 255 255/48%);font-size:10px}.user-avatar{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:10px;color:white;background:var(--accent);font-weight:800}.user-avatar.large{width:46px;height:46px;border-radius:13px;font-size:18px}.sidebar-logout{width:100%;padding:9px 8px;border:0;color:rgb(255 255 255/55%);background:transparent;cursor:pointer;font-size:11px;text-align:left}.sidebar-logout:hover{color:white}.sidebar-note span,.sidebar-note strong{display:block}.sidebar-note span{color:rgb(255 255 255/52%);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.sidebar-note strong{margin-top:7px;font-size:14px}.sidebar-note p{margin:8px 0 0;color:rgb(255 255 255/58%);font-size:12px;line-height:1.55}.workspace{width:min(1180px,100%);min-width:0;margin:0 auto;padding:36px 42px 56px}.portal-footer{margin-top:44px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;text-align:center}.portal-footer-trigger{padding:0;border:0;color:var(--muted);background:transparent;cursor:pointer;font-size:10px;font-weight:800}.portal-footer-trigger:focus-visible,.portal-footer-trigger:hover{color:var(--accent-dark);outline:none;text-decoration:underline}.changelog-backdrop{display:grid;position:fixed;z-index:1100;inset:0;padding:24px;place-items:center;background:rgb(20 31 27/72%);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.changelog-modal{display:grid;width:min(780px,100%);max-height:min(820px,calc(100vh - 48px));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgb(255 255 255/35%);border-radius:20px;background:white;box-shadow:0 30px 90px rgb(0 0 0/30%)}.changelog-modal>footer,.changelog-modal>header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 22px}.changelog-modal>header{border-bottom:1px solid var(--line)}.changelog-modal>header h2{margin:5px 0 0;font-size:22px;letter-spacing:-.035em}.changelog-modal>footer{justify-content:flex-end;border-top:1px solid var(--line)}.changelog-content{display:grid;gap:14px;min-height:0;padding:18px 22px;overflow:auto;background:var(--surface-soft)}.changelog-feedback-card{padding:16px 18px;border:1px solid #f0c48d;border-radius:16px;color:#4b3420;background:#fff8ec;box-shadow:0 12px 28px rgb(99 58 21/8%)}.changelog-feedback-card strong{display:block;margin-bottom:7px;color:#7b3a24;font-size:13px;font-weight:900}.changelog-feedback-card p{margin:0;color:#4d4238;font-size:12px;line-height:1.6}.changelog-feedback-card a{color:var(--accent-dark);font-weight:900;text-decoration:none}.changelog-feedback-card a:focus-visible,.changelog-feedback-card a:hover{text-decoration:underline}.changelog-entry{padding:18px;border:1px solid var(--line);border-radius:16px;background:white}.changelog-entry-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.changelog-entry-head h3{margin:8px 0 0;font-size:16px}.changelog-entry-head time{color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}.changelog-tags{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.changelog-tags span{padding:5px 8px;border-radius:999px;color:#7b3a24;background:#fff0e9;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.changelog-entry ul{display:grid;gap:8px;margin:0;padding-left:18px;color:#46504b;font-size:12px;line-height:1.55}.activation-link-card{margin-bottom:18px}.activation-link-card h2{margin:6px 0 8px;font-size:18px}.activation-link-card p{color:var(--muted);font-size:11px}.activation-link-card input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);font-size:10px}.personnel-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}.personnel-toolbar form{display:flex;flex:1 1;gap:10px;align-items:end}.calendar-toolbar label,.personnel-toolbar label{display:grid;flex:1 1;gap:7px;color:#46504b;font-size:11px;font-weight:800}.calendar-toolbar input,.calendar-toolbar select,.personnel-toolbar input{min-width:0;padding:11px 12px;border:1px solid #d7ddd5;border-radius:9px;background:white}.personnel-tabs{display:flex;gap:7px}.personnel-tabs a{padding:10px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:white;font-size:10px;font-weight:800;text-decoration:none}.personnel-tabs a.active{border-color:#e4ac96;color:var(--accent-dark);background:#fff2ec}.personnel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.personnel-card{display:grid;gap:18px}.personnel-card-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}.personnel-card-heading h2{margin:5px 0 0;font-size:18px}.personnel-data{display:grid;margin:0;gap:9px}.personnel-data div{display:grid;padding:10px 12px;grid-template-columns:130px minmax(0,1fr);gap:14px;border-radius:9px;background:var(--surface-soft)}.personnel-data dt{color:var(--muted);font-size:9px}.personnel-data dd{margin:0;font-size:10px;font-weight:700}.personnel-edit{padding-top:14px;border-top:1px solid var(--line)}.personnel-edit summary{color:var(--accent-dark);cursor:pointer;font-size:10px;font-weight:800}.personnel-edit .form-stack{margin-top:16px}.personnel-card-link{justify-self:start;text-decoration:none}.employee-detail-grid{display:grid;margin-bottom:18px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}.employee-history-list,.employee-record-list{display:grid;margin:18px 0 0;padding:0;gap:10px;list-style:none}.employee-history-list li,.employee-record-list li{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.employee-record-list li{display:grid;gap:6px}.employee-history-list p,.employee-record-list p{margin:0;line-height:1.55}.employee-history-list small,.employee-record-list span{color:var(--muted);font-size:9px}.employee-history-form{margin:18px 0}.employee-history-list li{display:grid;gap:10px;border-left-width:4px}.employee-history-list li.positive{border-left-color:var(--success)}.employee-history-list li.negative{border-left-color:#b74444}.employee-history-list li>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.employee-entry-type{padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;text-transform:uppercase}.employee-entry-type.positive{color:#1f6a43;background:#e9f5ed}.employee-entry-type.negative{color:#8e3030;background:#faeaea}.employee-history-summary{display:flex;margin-top:18px;gap:10px}.employee-history-summary span{padding:10px 12px;border-radius:9px;background:var(--surface-soft);color:var(--muted);font-size:10px}.employee-history-summary strong{margin-left:5px;color:var(--ink)}.leave-conflict-review{display:grid;margin-top:18px;gap:12px}.leave-conflict-review ul{margin:10px 0 0;padding-left:18px}.personnel-reminders-card{margin-bottom:18px}.personnel-reminder-list{display:grid;margin-top:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.personnel-reminder{display:grid;gap:6px;padding:14px;border-radius:11px;color:var(--ink);text-decoration:none}.personnel-reminder.warning{background:#fff3d5}.personnel-reminder.birthday{background:#f1eafb}.personnel-reminder strong{font-size:11px}.personnel-reminder span{color:#56615b;font-size:9px;line-height:1.55}.calendar-toolbar{margin-bottom:18px}.calendar-toolbar form{display:grid;grid-template-columns:minmax(130px,.65fr) minmax(160px,.9fr) minmax(190px,1.2fr) minmax(190px,1fr) auto;gap:12px;align-items:end}.holiday-options{display:flex;min-width:0;margin:0;padding:0;gap:8px;border:0}.holiday-options legend{width:100%;margin-bottom:7px;color:#46504b;font-size:11px;font-weight:800}.holiday-options label{display:flex;flex:0 1 auto;gap:6px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:8px;background:white;white-space:nowrap}.holiday-options input{width:auto;padding:0}.leave-calendar-weekdays span.saturday{color:#356485;background:#eaf4fb}.leave-calendar-weekdays span.sunday{color:#9a3434;background:#fdecec}.leave-calendar-day.saturday{background:#f3f9fd}.leave-calendar-day.sunday{background:#fff3f3}.calendar-event.project{color:#31556e;background:#e4f1f8}.calendar-event.work_time{color:#6a421d;background:#fff1df}.calendar-event.holiday{color:#8b3131;background:#fde5e5}.leave-calendar-legend i.project{background:#8abbd7}.leave-calendar-legend i.work_time{background:#e0a460}.leave-calendar-legend i.holiday{background:#e59b9b}@media (max-width:1050px){.calendar-toolbar form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.employee-detail-grid,.personnel-grid,.personnel-reminder-list{grid-template-columns:1fr}.personnel-toolbar,.personnel-toolbar form{align-items:stretch;flex-direction:column}.calendar-toolbar form{grid-template-columns:1fr}}.section-heading,.topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.topbar{margin-bottom:28px}.topbar h1{margin:4px 0 0;font-size:clamp(28px,4vw,42px);letter-spacing:-.04em}.eyebrow{color:var(--accent-dark);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.eyebrow.light{color:#efaf95}.status-pill{display:flex;gap:9px;align-items:center;padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:rgb(255 255 255/60%);font-size:12px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgb(59 122 89/12%)}.hero-card{display:grid;margin-bottom:38px;padding:36px;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;overflow:hidden;border-radius:22px;color:white;background:linear-gradient(115deg,rgb(23 43 36/96%),rgb(38 74 60/92%)),var(--deep);box-shadow:0 18px 48px rgb(34 54 46/14%)}.hero-card h2{max-width:680px;margin:8px 0 12px;font-size:clamp(28px,4vw,48px);line-height:1.05;letter-spacing:-.045em}.hero-card p{max-width:650px;margin-bottom:0;color:rgb(255 255 255/68%);line-height:1.7}.hero-stat{min-width:130px;padding-left:26px;border-left:1px solid rgb(255 255 255/16%)}.hero-stat span,.hero-stat strong{display:block}.hero-stat strong{color:#f48b62;font-size:54px;line-height:1}.hero-stat span{margin-top:7px;color:rgb(255 255 255/60%);font-size:12px}.section-heading{margin-bottom:16px}.section-heading.compact{align-items:center}.section-heading h2{margin:4px 0 0;font-size:22px;letter-spacing:-.025em}.muted{color:var(--muted);font-size:12px}.metric-grid{display:grid;margin-bottom:38px;grid-template-columns:repeat(3,1fr);gap:14px}.content-card,.metric-card{min-width:0;border:1px solid var(--line);background:rgb(255 255 255/80%);box-shadow:0 12px 35px rgb(34 54 46/6%)}.metric-card{padding:22px;border-radius:16px}.metric-card span,.metric-card strong{display:block}.metric-card strong{margin-bottom:12px;color:var(--accent);font-size:32px}.metric-card span{color:var(--muted);font-size:13px}.foundation-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px}.content-card{padding:26px;border-radius:18px}.count-badge{display:grid;min-width:36px;height:36px;padding:0 9px;place-items:center;border-radius:10px;color:var(--accent-dark);background:#fbe9e1;font:800 13px Manrope,Aptos,Segoe UI,sans-serif}.module-list{display:grid;margin:0;padding:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none}.module-list li{padding:14px;border-radius:12px;background:var(--surface-soft)}.module-list small,.module-list span{display:block}.module-list span{margin-bottom:5px;font-size:13px;font-weight:800}.module-list small{color:var(--muted);font-size:11px;line-height:1.45}.card-intro{margin-bottom:18px;color:var(--muted);font-size:13px;line-height:1.6}.category-cloud{display:flex;gap:8px;flex-wrap:wrap}.category-cloud span{padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:#4d5752;background:var(--surface-soft);font-size:11px}.auth-page{display:grid;min-height:100vh;grid-template-columns:minmax(360px,.85fr) minmax(460px,1.15fr)}.auth-brand-panel{display:flex;padding:48px;flex-direction:column;color:white;background:radial-gradient(circle at 20% 80%,rgb(217 87 43/28%),transparent 24rem),var(--deep)}.auth-brand-logo{display:block;width:min(290px,100%);padding:18px 22px;border-radius:20px;background:white;box-shadow:0 18px 50px rgb(0 0 0/18%);text-decoration:none}.auth-brand-logo img{display:block;width:100%;height:auto}.auth-brand-copy{max-width:560px;margin:auto 0}.auth-brand-copy h1{margin:12px 0 20px;font-size:clamp(38px,6vw,70px);line-height:1.02;letter-spacing:-.055em}.auth-brand-copy p{max-width:480px;color:rgb(255 255 255/64%);line-height:1.75}.auth-form-panel,.simple-page{display:grid;min-height:100vh;padding:32px;place-items:center}.auth-card,.simple-card{width:min(440px,100%);padding:38px;border:1px solid var(--line);border-radius:22px;background:rgb(255 255 255/88%);box-shadow:0 22px 60px rgb(34 54 46/10%)}.auth-card h2,.simple-card h1{margin:8px 0 12px;font-size:34px;letter-spacing:-.04em}.form-stack{display:grid;gap:16px}.form-stack label,.invite-grid label{display:grid;gap:7px;color:#46504b;font-size:12px;font-weight:700}.form-stack input,.form-stack select,.form-stack textarea,.invite-grid input,.invite-grid select{width:100%;padding:12px 13px;border:1px solid #d7ddd5;border-radius:10px;outline:none;color:var(--ink);background:white}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus,.invite-grid input:focus,.invite-grid select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgb(217 87 43/10%)}.password-field{display:grid;gap:7px}.password-input-wrap{position:relative;display:flex;align-items:center}.password-input-wrap input{padding-right:48px}.password-input-wrap button{position:absolute;right:8px;display:grid;width:34px;height:34px;padding:0;place-items:center;border:0;border-radius:9px;color:#56615c;background:transparent;cursor:pointer}.password-input-wrap button:focus-visible,.password-input-wrap button:hover{color:var(--accent-dark);background:#fff0e9;outline:none}.primary-button,.secondary-button{display:inline-flex;width:fit-content;min-height:42px;padding:10px 17px;align-items:center;justify-content:center;border-radius:10px;cursor:pointer;font-weight:800;text-decoration:none}.primary-button{border:1px solid var(--accent);color:white;background:var(--accent)}.primary-button:hover{border-color:var(--accent-dark);background:var(--accent-dark)}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.65}.primary-button:disabled{border-color:#b8bdb8;background:#b8bdb8;cursor:not-allowed}.secondary-button{border:1px solid var(--line);color:var(--ink);background:white}.secondary-button:hover{border-color:#bfc6bd;background:var(--surface-soft)}.error-card{width:min(560px,100%)}.error-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.text-button{padding:0;border:0;color:var(--accent-dark);background:transparent;cursor:pointer;font-size:11px;font-weight:800}.auth-help{margin:24px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.auth-form-links a,.auth-help a{color:var(--accent-dark);font-weight:800;text-decoration:none}.auth-form-links a:focus-visible,.auth-form-links a:hover,.auth-help a:focus-visible,.auth-help a:hover{outline:none;text-decoration:underline}.auth-form-links{margin-top:-6px;font-size:11px;text-align:right}.demo-access{padding:18px;border:1px solid #efc6b6;border-radius:14px;background:#fff4ef}.demo-access strong{font-size:14px}.demo-access p{margin:7px 0 16px;color:#7b5b4f;font-size:12px;line-height:1.55}.form-message{margin:0 0 18px;padding:12px 14px;border:1px solid;border-radius:10px;font-size:12px;line-height:1.5}.form-message.error{border-color:#edc3c3;color:#8d2929;background:#fff1f1}.form-message.success{border-color:#bcd9c7;color:#225e3b;background:#effaf3}.form-message.warning{border-color:#ead4a7;color:#715314;background:#fff9e9}.permission-code{display:block;width:fit-content;margin:0 0 22px;padding:8px 10px;border-radius:8px;color:#6f4c3f;background:#f7e8e1;font-size:11px}.setup-list{margin:0 0 24px;padding-left:20px;color:var(--muted);font-size:13px;line-height:1.9}.admin-section{margin-bottom:22px}.invite-grid{display:grid;width:100%;min-width:0;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end}.invite-grid input,.invite-grid label,.invite-grid select,.invite-grid>*{min-width:0;max-width:100%}.user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.user-card{display:grid;gap:18px}.user-card-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.user-card-header h2{margin:0 0 3px;font-size:16px}.user-card-header p{margin:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-flex;width:fit-content;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800}.status-badge.active{color:#276443;background:#e9f5ed}.status-badge.inactive{color:#7d3737;background:#faeaea}.user-meta{margin:0}.user-meta div{display:flex;justify-content:space-between;gap:16px}.user-meta dt{color:var(--muted);font-size:11px}.user-meta dd{margin:0;font-size:11px;font-weight:700}.role-form{display:grid;gap:12px}.permission-groups,.role-form fieldset{margin:0;padding:0;border:0}.role-form legend{margin-bottom:10px;color:var(--muted);font-size:11px}.role-options{display:flex;gap:8px;flex-wrap:wrap}.role-options label{display:flex;gap:7px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);font-size:11px}.role-layout{display:grid;grid-template-columns:minmax(240px,.34fr) minmax(0,1fr);gap:18px;align-items:start}.role-sidebar{position:sticky;top:22px}.role-list{display:grid;gap:6px}.role-list a{display:block;padding:12px;border-radius:10px;color:var(--ink);text-decoration:none}.role-list a.selected,.role-list a:hover{background:var(--surface-soft)}.role-list span,.role-list strong{display:block}.role-list strong{font-size:13px}.role-list span{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.4}.compact-form{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.compact-form h3{margin:0;font-size:14px}.permission-groups{display:grid;gap:22px;margin-bottom:24px}.permission-group{padding:18px;border-radius:14px;background:var(--surface-soft)}.permission-group h3{margin:0 0 13px;font-size:14px}.permission-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-group label{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid transparent;border-radius:9px;background:white}.permission-group label:has(input:checked){border-color:#edc2b2;background:#fff7f3}.permission-group input{margin-top:2px}.permission-group small,.permission-group strong{display:block}.permission-group strong{font-size:11px}.permission-group small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.45}.empty-state{display:grid;min-height:340px;place-items:center;align-content:center;text-align:center}.empty-state h2{margin:18px 0 8px}.empty-state p{max-width:560px;margin:0;color:var(--muted);line-height:1.7}.topbar-actions{display:flex;gap:10px;align-items:center}.project-shortcuts{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.project-shortcuts a{padding:8px 11px;border:1px solid var(--line);border-radius:999px;color:#4b5550;background:rgb(255 255 255/72%);font-size:11px;font-weight:800;text-decoration:none}.project-shortcuts a.active,.project-shortcuts a:hover{border-color:#e7ae98;color:var(--accent-dark);background:#fff2ec}.filter-card{margin-bottom:18px}.filter-card>summary,.project-edit-card>summary{cursor:pointer;font:800 14px Manrope,Aptos,Segoe UI,sans-serif}.filter-card[open]>summary,.project-edit-card[open]>summary{margin-bottom:22px}.project-filter-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.project-filter-form label,.project-form label{display:grid;min-width:0;gap:7px;color:#46504b;font-size:11px;font-weight:800}.project-filter-form input,.project-filter-form select,.project-form input,.project-form select,.project-form textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid #d7ddd5;border-radius:9px;outline:none;color:var(--ink);background:white}.project-filter-form input:focus,.project-filter-form select:focus,.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgb(217 87 43/10%)}.project-filter-form .wide-field{grid-column:1/-1}.filter-checkboxes{display:flex;gap:9px;flex-wrap:wrap}.filter-checkboxes label{display:flex;gap:7px;padding:8px 10px;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);font-weight:700}.filter-checkboxes input{width:auto}.assignment-form,.filter-actions{display:flex;gap:10px;align-items:center}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.project-card{display:grid;gap:17px;color:var(--ink);text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.project-card:hover{border-color:#d4b0a2;box-shadow:0 17px 42px rgb(34 54 46/10%);transform:translateY(-2px)}.project-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.project-card h2{margin:5px 0 0;font-size:18px;line-height:1.25}.project-order{color:var(--accent-dark);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-card-meta p{margin:0}.project-card-meta span,.project-card-meta strong{display:block}.project-card-meta strong{font-size:11px;line-height:1.45}.project-card-meta span{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}.employee-options,.project-team{display:flex;gap:7px;flex-wrap:wrap}.project-team span{padding:6px 8px;border-radius:7px;color:#44504a;background:#eef1ed;font-size:9px;font-weight:700}.project-alerts{display:flex;gap:7px;padding-top:14px;flex-wrap:wrap;border-top:1px solid var(--line)}.drive-state,.project-alerts span{display:inline-flex;width:fit-content;padding:6px 8px;border-radius:999px;font-size:9px;font-weight:800}.project-alerts .attention{color:#7b3d28;background:#fbe9e1}.project-alerts .warning{color:#715314;background:#fff3d5}.drive-state.pending,.drive-state.processing{color:#526169;background:#edf1f3}.drive-state.ready{color:#276443;background:#e9f5ed}.drive-state.failed{color:#8d2929;background:#faeaea}.pagination{display:grid;margin-top:20px;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center}.pagination a{color:var(--accent-dark);font-size:11px;font-weight:800;text-decoration:none}.pagination a:last-child{text-align:right}.pagination>span{color:var(--muted);font-size:10px}.project-form-card{padding:30px}.project-form{display:grid;gap:30px}.form-section{display:grid;gap:16px;padding-bottom:28px;border-bottom:1px solid var(--line)}.form-section:last-of-type{padding-bottom:0;border-bottom:0}.form-section h2{margin:4px 0 0;font-size:18px}.form-grid{display:grid;gap:13px}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four-columns{grid-template-columns:repeat(4,minmax(0,1fr))}.field-help{margin:-5px 0 0}.employee-options label{display:flex;width:auto;gap:8px;padding:9px 11px;align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);font-size:10px;font-weight:700}.employee-options label:has(input:checked){border-color:#e7ae98;background:#fff2ec}.employee-options input{width:auto}.project-summary-grid{display:grid;margin-bottom:18px;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px}.project-summary-card{display:grid;gap:5px}.project-summary-card strong{order:-1;margin:0}.project-summary-card small{color:var(--muted);font-size:9px}.project-detail-grid{display:grid;margin-bottom:18px;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px}.project-data-list{display:grid;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.project-data-list div{padding:13px;border-radius:10px;background:var(--surface-soft)}.project-data-list dt{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.project-data-list dd{margin:6px 0 0;font-size:12px;font-weight:700;line-height:1.45}.project-description{margin-top:18px}.project-description>span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.project-description p{margin:7px 0 0;color:#4c5751;font-size:12px;line-height:1.7}.project-operations-grid{display:grid;margin-bottom:18px;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:18px;align-items:start}.project-document-list,.project-service-request-list,.project-work-entry-list{display:grid;gap:9px}.project-service-request-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.project-service-request-item small,.project-service-request-item strong{display:block}.project-service-request-item strong{margin-top:4px;font-size:12px}.project-service-request-item small,.project-service-request-side>span:last-of-type{color:var(--muted);font-size:9px;line-height:1.45}.project-service-request-side{display:flex;align-items:flex-end;flex-direction:column;gap:7px;text-align:right}.project-document-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.project-document-item-main{display:grid;min-width:0;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center}.project-document-type{display:grid;width:44px;height:48px;place-items:center;border-radius:9px;color:var(--accent-dark);background:#fbe9e1;font-size:7px;font-weight:800}.project-document-item-main small,.project-document-item-main span,.project-document-item-main strong{display:block}.project-document-item-main strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.project-document-item-main span{margin-top:4px;color:var(--accent-dark);font-size:8px;font-weight:800}.project-document-item-main small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.4}.project-document-actions{flex:0 0 auto}.project-work-summary{display:grid;margin-bottom:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.project-work-summary>div{padding:11px;border-radius:9px;background:var(--surface-soft)}.project-work-summary span,.project-work-summary strong{display:block}.project-work-summary span{color:var(--muted);font-size:8px;font-weight:800}.project-work-summary strong{margin-top:5px;font-size:11px}.project-work-entry-list{max-height:360px;overflow:auto}.project-work-entry-list article{padding:11px;border:1px solid var(--line);border-radius:9px}.project-work-entry-list article>div{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.project-work-entry-list article>div+div{margin-top:6px;color:#53605a;font-size:8px}.project-work-entry-list small,.project-work-entry-list span,.project-work-entry-list strong{font-size:9px}.project-work-entry-list small{display:block;margin-top:7px;color:var(--muted);line-height:1.45}.drive-card .secondary-button{margin-bottom:16px}.project-edit-card,.project-history-card,.project-team-card{margin-bottom:18px}.assignment-form{align-items:flex-end;justify-content:space-between}.assignment-form .employee-options{flex:1 1}.history-list{display:grid;margin:0;padding:0;gap:0;list-style:none}.history-list li{display:grid;position:relative;padding:0 0 18px;grid-template-columns:18px 1fr;gap:10px}.history-list li:not(:last-child):before{position:absolute;top:10px;bottom:0;left:5px;width:1px;background:var(--line);content:""}.history-marker{position:relative;z-index:1;width:11px;height:11px;margin-top:3px;border:3px solid #f8d7ca;border-radius:50%;background:var(--accent)}.history-list span,.history-list strong{display:block}.history-list strong{font-size:11px}.history-list div>span{margin-top:4px;color:var(--muted);font-size:9px}.project-edit-card .project-form{padding-top:8px}.archive-panel{padding:18px 20px;border:1px solid #edc3c3;border-radius:14px;color:#6f3030;background:#fff6f6}.archive-panel summary{cursor:pointer;font-size:11px;font-weight:800}.archive-panel p{margin:14px 0;font-size:11px;line-height:1.6}.danger-button{padding:9px 13px;border:1px solid #b74444;border-radius:9px;color:white;background:#b74444;cursor:pointer;font-size:10px;font-weight:800}.account-delete-panel{padding:14px 16px}.account-delete-form{display:grid;gap:12px}.account-delete-form label{display:grid;gap:6px}.account-delete-form label span{font-size:10px;font-weight:800}.account-delete-form .danger-button{width:fit-content}@media (max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr)}.app-shell,.sidebar{width:100%;max-width:100vw}.sidebar{position:static;min-width:0;height:auto;padding:18px 22px;overflow:hidden}.brand{padding-bottom:0;border-bottom:0}.sidebar-note,.sidebar-user{display:none}.nav-list{display:flex;width:100%;min-width:0;gap:6px;margin-top:16px;overflow-x:auto;padding-bottom:4px}.nav-item{flex:0 0 auto;padding:9px 11px;font-size:12px}.sidebar form{margin-top:8px}.workspace{padding:28px 22px 44px}.auth-page,.foundation-grid{grid-template-columns:1fr}.auth-brand-panel{min-height:340px;padding:30px}.auth-brand-logo{width:min(230px,100%);padding:14px 18px}.auth-brand-copy{margin-top:48px}.invite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-grid,.project-list,.role-layout,.user-grid{grid-template-columns:1fr}.project-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-sidebar{position:static}}@media (max-width:620px){.section-heading,.topbar{align-items:flex-start;flex-direction:column;gap:10px}.hero-card{grid-template-columns:1fr;padding:28px}.hero-stat{padding-top:18px;padding-left:0;border-top:1px solid rgb(255 255 255/16%);border-left:0}.metric-grid,.module-list{grid-template-columns:1fr}.auth-form-panel,.simple-page{padding:18px}.auth-card,.simple-card{padding:26px}.form-grid.three-columns,.form-grid.two-columns,.invite-grid,.permission-group>div,.project-data-list,.project-filter-form{grid-template-columns:1fr}.project-filter-form .wide-field{grid-column:auto}.assignment-form,.topbar-actions{width:100%;align-items:stretch;flex-direction:column}.project-card-meta,.project-service-request-item,.project-summary-grid{grid-template-columns:1fr}.project-service-request-side{align-items:flex-start;text-align:left}.section-heading.compact{align-items:flex-start}.user-card-header{grid-template-columns:auto minmax(0,1fr)}.user-card-header .status-badge{grid-column:1/-1}}.document-list{display:grid;gap:12px}.document-card{display:grid;padding:20px;grid-template-columns:58px minmax(0,1fr);gap:18px;color:var(--ink);text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.document-card:hover{border-color:#d4b0a2;box-shadow:0 17px 42px rgb(34 54 46/10%);transform:translateY(-2px)}.document-card-icon{display:grid;width:58px;height:66px;place-items:center;border-radius:12px;color:var(--accent-dark);background:#fbe9e1;font:800 12px Manrope,Aptos,Segoe UI,sans-serif;letter-spacing:.05em}.document-card-body{min-width:0}.document-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.document-card-head>div{min-width:0}.document-card h2{margin:7px 0 0;overflow:hidden;font-size:16px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.document-category,.ocr-state,.review-state{display:inline-flex;width:fit-content;padding:6px 8px;border-radius:999px;font-size:9px;font-weight:800}.document-category.general{color:#405b50;background:#eaf1ed}.document-category.invoice{color:#694b20;background:#fff1d7}.document-category.cost{color:#65507a;background:#f1eafb}.review-state{flex:0 0 auto}.review-state.pending{color:#715314;background:#fff3d5}.review-state.approved{color:#276443;background:#e9f5ed}.review-state.rejected{color:#8d2929;background:#faeaea}.document-description{margin:10px 0 12px;color:#56615b;font-size:11px;line-height:1.55}.document-meta-row,.document-status-row{display:flex;gap:8px 14px;flex-wrap:wrap}.document-meta-row{color:var(--muted);font-size:9px}.document-meta-row span:first-child{color:#3f4944;font-weight:800}.document-status-row{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.document-card-actions,.document-file-actions,.project-document-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.document-card-actions{margin-top:14px}.document-card-actions .primary-button,.document-card-actions .secondary-button,.project-document-actions .secondary-button{padding:8px 12px;font-size:9px}.ocr-state.not_requested,.ocr-state.pending,.ocr-state.processing{color:#526169;background:#edf1f3}.ocr-state.completed{color:#276443;background:#e9f5ed}.ocr-state.failed{color:#8d2929;background:#faeaea}.document-upload-card{padding:32px}.document-file-field{padding:24px;border:1px dashed #d3b1a4;border-radius:14px;background:#fff9f6}.document-file-field input{max-width:100%;padding:12px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:white}.document-file-field small{color:var(--muted);font-size:10px;font-weight:500}.document-checkbox{display:flex!important;width:100%;min-width:0;padding:12px 14px;gap:10px!important;align-items:flex-start;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.document-checkbox input{width:auto;flex:0 0 auto;margin-top:2px}.document-checkbox span{min-width:0;overflow-wrap:anywhere}.document-form-actions{display:flex;justify-content:space-between;gap:18px;align-items:center}.document-form-actions p{max-width:520px;margin:0;color:var(--muted);font-size:10px;line-height:1.55}.document-detail-topbar h1{max-width:760px;overflow-wrap:anywhere}.document-explorer-layout{display:grid;grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:18px;align-items:start}.document-explorer-main{min-width:0}.document-tree{position:sticky;top:18px;max-height:calc(100vh - 36px);padding:20px;overflow:auto}.document-tree nav{display:grid;margin-top:14px;gap:8px}.document-tree-project,.document-tree-root{display:block;color:var(--ink);font-size:11px;font-weight:800;line-height:1.45;text-decoration:none;overflow-wrap:anywhere}.document-tree-root{color:var(--accent-dark)}.document-tree-project{padding:10px;border-radius:9px;background:var(--surface-soft)}.document-tree-connector{color:#a8b1ab;font-size:10px}.document-tree ul{display:grid;margin:4px 0 0;padding:0 0 0 10px;gap:4px;border-left:1px solid var(--line);list-style:none}.document-tree li a{display:grid;padding:8px;grid-template-columns:32px minmax(0,1fr);gap:7px;align-items:center;border-radius:8px;color:#53605a;font-size:9px;line-height:1.35;text-decoration:none;overflow-wrap:anywhere}.document-tree li a>span{display:grid;height:26px;place-items:center;border-radius:6px;color:var(--accent-dark);background:#fbe9e1;font-size:7px;font-weight:800}.document-tree li a.current,.document-tree li a:hover{color:var(--ink);background:#fff4ef}.document-detail-grid{display:grid;margin-bottom:18px;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:18px;align-items:start}.document-side-stack{display:grid;gap:18px}.document-overview .project-data-list a{color:var(--accent-dark);text-decoration:none}.checksum{overflow-wrap:anywhere;font-family:Consolas,Courier New,monospace;font-size:9px!important}.document-download,.document-file-actions{margin-top:22px}.document-preview-backdrop{display:grid;position:fixed;z-index:1000;inset:0;padding:24px;place-items:center;background:rgb(20 31 27/72%);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.document-preview-modal{display:grid;width:min(1180px,100%);height:min(860px,calc(100vh - 48px));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgb(255 255 255/35%);border-radius:18px;background:white;box-shadow:0 30px 90px rgb(0 0 0/30%)}.document-preview-modal>footer,.document-preview-modal>header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 20px}.document-preview-modal>header{border-bottom:1px solid var(--line)}.document-preview-modal>header h2{max-width:800px;margin:5px 0 0;font-size:15px;overflow-wrap:anywhere}.document-preview-modal>footer{justify-content:flex-end;border-top:1px solid var(--line)}.document-preview-close{padding:9px 12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:white;cursor:pointer;font-size:10px;font-weight:800}.document-preview-content{display:grid;min-height:0;padding:14px;place-items:center;overflow:auto;background:#e8ece8}.document-preview-content img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 10px 35px rgb(30 45 39/18%)}.pdf-preview-viewer{display:grid;width:100%;height:100%;min-height:0;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border-radius:10px;background:#dfe4df}.pdf-preview-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid #d5dbd5;background:white}.pdf-preview-toolbar>div{display:flex;gap:8px;align-items:center}.pdf-preview-toolbar button{min-height:34px;padding:7px 11px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:white;cursor:pointer;font-size:9px;font-weight:800}.pdf-preview-toolbar button:hover:not(:disabled){border-color:#bfc6bd;background:var(--surface-soft)}.pdf-preview-toolbar button:disabled{color:#a2aaa5;cursor:not-allowed}.pdf-preview-toolbar span{color:var(--muted);font-size:9px;white-space:nowrap}.pdf-preview-canvas-wrap{display:grid;position:relative;min-height:0;padding:20px;place-items:start center;overflow:auto}.pdf-preview-canvas-wrap canvas{display:block;max-width:100%;height:auto!important;background:white;box-shadow:0 12px 35px rgb(30 45 39/24%)}.pdf-preview-rendering{position:absolute;top:32px;left:50%;padding:8px 11px;border-radius:999px;color:white;background:rgb(23 43 36/84%);font-size:9px;font-weight:800;transform:translateX(-50%)}.pdf-preview-state{display:grid;min-height:300px;padding:30px;place-items:center;align-content:center;gap:12px;color:var(--muted);text-align:center}.pdf-preview-state strong{color:var(--ink);font-size:13px}.pdf-preview-state p{max-width:440px;margin:0;font-size:10px;line-height:1.6}.pdf-preview-state.error{color:#8d2929;background:#fff1f1}.pdf-preview-spinner{width:30px;height:30px;border:3px solid #d6dcd7;border-top:3px solid var(--accent);border-radius:50%;animation:pdf-preview-spin .8s linear infinite}.pdf-preview-inline-error{margin:0;padding:9px 12px;color:#8d2929;background:#fff1f1;font-size:9px;text-align:center}@keyframes pdf-preview-spin{to{transform:rotate(1turn)}}.ocr-preview{max-height:190px;margin:0 0 12px;padding:13px;overflow:auto;border-radius:10px;color:#4c5751;background:var(--surface-soft);font-size:10px;line-height:1.65;white-space:pre-wrap}.document-ocr-card{margin-bottom:18px}.document-ocr-card .ocr-preview{max-height:min(56vh,560px);padding:18px;font-size:12px;line-height:1.75}.document-review-card{margin-bottom:18px}.document-review-form,.document-review-form label{display:grid;gap:12px}.document-review-form label{color:#46504b;font-size:11px;font-weight:800}.document-review-form textarea{width:100%;padding:11px 12px;border:1px solid #d7ddd5;border-radius:9px;outline:none;color:var(--ink);background:white;resize:vertical}.document-review-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgb(217 87 43/10%)}.document-review-actions{display:flex;gap:10px}.history-list p{margin:5px 0 0;color:#4c5751;font-size:10px;line-height:1.55}@media (max-width:900px){.document-explorer-layout,.project-operations-grid{grid-template-columns:1fr}.document-tree{position:static;max-height:320px}.document-detail-grid{grid-template-columns:1fr}}@media (max-width:620px){.project-document-actions,.project-document-item{align-items:stretch;flex-direction:column}.project-work-summary{grid-template-columns:1fr}.document-card{padding:17px;grid-template-columns:44px minmax(0,1fr);gap:12px}.document-card-icon{width:44px;height:52px;font-size:9px}.document-card-head{flex-direction:column;gap:9px}.document-card h2{white-space:normal;overflow-wrap:anywhere}.document-upload-card{width:calc(100vw - 44px);padding:22px;overflow:hidden}.document-file-field,.document-upload-card,.document-upload-card section{min-width:0;max-width:100%}.document-upload-card form{width:calc(100vw - 90px);min-width:0;max-width:calc(100vw - 90px)}.document-file-actions,.document-form-actions,.document-review-actions{align-items:stretch;flex-direction:column}.document-form-actions .primary-button,.document-review-actions .primary-button,.document-review-actions .secondary-button{width:auto;max-width:100%;align-self:stretch}.document-preview-backdrop{padding:0}.changelog-backdrop{padding:10px}.changelog-modal{max-height:calc(100vh - 20px);border-radius:18px}.changelog-modal>footer,.changelog-modal>header{align-items:stretch;flex-direction:column;padding:14px}.changelog-content{padding:14px}.changelog-entry{padding:15px}.changelog-entry-head{flex-direction:column;gap:10px}.changelog-entry-head time{white-space:normal}.document-preview-modal{width:100%;height:100%;border:0;border-radius:0}.document-preview-modal>footer,.document-preview-modal>header{padding:12px}.document-preview-modal>footer{align-items:stretch;flex-direction:column}.document-preview-content{padding:7px}.pdf-preview-toolbar{align-items:stretch;flex-direction:column}.pdf-preview-toolbar>div{justify-content:space-between}.pdf-preview-canvas-wrap{padding:10px}}.work-time-summary-grid{display:grid;margin-bottom:18px;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.work-time-summary-card{padding:18px}.work-time-summary-card strong{margin:8px 0 0;font-size:20px}.work-time-list-heading{display:flex;margin:28px 0 14px;justify-content:space-between;gap:18px;align-items:end}.work-time-list-heading h2{margin:4px 0 0;font-size:22px}.monthly-report-list,.work-time-entry-list{display:grid;gap:12px}.work-time-entry-card{display:grid;padding:20px;grid-template-columns:66px minmax(0,1fr);gap:18px;color:var(--ink);text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.work-time-entry-card:hover{border-color:#d4b0a2;box-shadow:0 17px 42px rgb(34 54 46/10%);transform:translateY(-2px)}.work-time-date{display:grid;height:66px;place-items:center;align-content:center;border-radius:14px;color:var(--accent-dark);background:#fbe9e1}.work-time-date span,.work-time-date strong{display:block}.work-time-date strong{font-size:25px;line-height:1}.work-time-date span{margin-top:4px;font-size:9px;font-weight:800;text-transform:uppercase}.work-time-entry-main{min-width:0}.monthly-report-actions,.monthly-report-head,.work-time-entry-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.monthly-report-head h2,.work-time-entry-head h2{margin:5px 0 0;font-size:17px}.work-time-project-title{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.employee-chip{display:inline-flex;width:fit-content;padding:7px 10px;border-radius:999px;color:#405b50;background:#eaf1ed;font-size:9px;font-weight:800}.outside-project-date-badge{display:inline-flex;width:fit-content;padding:6px 9px;border:1px solid #efc182;border-radius:999px;color:#78440f;background:#fff3dd;font-size:8px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.outside-project-date-note{display:flex;gap:10px;align-items:center;margin:14px 0 0;padding:12px;border:1px solid #efc182;border-radius:12px;color:#6c4a22;background:#fff8ea;font-size:10px;line-height:1.5}.outside-project-date-note .outside-project-date-badge{flex:0 0 auto}.monthly-report-values,.work-time-entry-values{display:grid;margin-top:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.monthly-report-values>span,.work-time-entry-values>span{padding:10px;border-radius:9px;background:var(--surface-soft)}.monthly-report-values small,.monthly-report-values strong,.work-time-entry-values small,.work-time-entry-values strong{display:block}.monthly-report-values small,.work-time-entry-values small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.monthly-report-values strong,.work-time-entry-values strong{margin-top:4px;font-size:10px}.work-time-entry-main>p{margin:12px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.report-status{display:inline-flex;width:fit-content;padding:7px 10px;border-radius:999px;font-size:9px;font-weight:800}.report-status.open{color:#526169;background:#edf1f3}.report-status.review_required{color:#715314;background:#fff3d5}.report-status.approved{color:#276443;background:#e9f5ed}.report-submit-card{display:flex;margin-top:18px;justify-content:space-between;gap:24px;align-items:center}.report-submit-card h2{margin:5px 0 8px;font-size:18px}.report-submit-card p{max-width:650px;margin:0;color:var(--muted);font-size:11px;line-height:1.6}.correction-section{padding:18px;border:1px solid #ead4a7;border-radius:14px;background:#fffaf0}.work-time-detail-grid{display:grid;margin-bottom:18px;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:18px}.work-time-audit-summary h2{margin:5px 0 24px}.work-time-audit-summary>strong{display:block;color:var(--accent);font-size:28px}.work-time-audit-summary p{margin:12px 0 0;color:var(--muted);font-size:10px;line-height:1.7}.revision-comparison{display:grid;margin-top:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.revision-comparison>span{padding:9px;border-radius:8px;color:#4c5751;background:var(--surface-soft);font-size:9px;line-height:1.45}.revision-comparison small{display:block;margin-bottom:3px;color:var(--muted);font-size:7px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.monthly-report-card{display:grid;gap:18px}.monthly-report-values{margin:0;grid-template-columns:repeat(6,minmax(0,1fr))}.monthly-report-actions{padding-top:15px;border-top:1px solid var(--line);justify-content:flex-end}.monthly-report-actions>div{flex:1 1;color:var(--muted);font-size:9px}@media (max-width:900px){.work-time-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-time-detail-grid{grid-template-columns:1fr}.monthly-report-values{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:620px){.form-grid.four-columns,.monthly-report-values,.revision-comparison,.work-time-entry-values,.work-time-summary-grid{grid-template-columns:1fr}.monthly-report-actions,.monthly-report-head,.report-submit-card,.work-time-entry-head,.work-time-list-heading{align-items:stretch;flex-direction:column}.work-time-entry-card{grid-template-columns:48px minmax(0,1fr);gap:12px}.work-time-date{height:52px}.work-time-date strong{font-size:19px}}.leave-balance-heading{margin-top:4px}.leave-balance-grid{display:grid;margin:16px 0 22px;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.leave-balance-card{padding:18px}.leave-balance-card strong{margin:8px 0 0;color:var(--ink);font-size:18px}.leave-balance-card.emphasized{border-color:#e2aa94;color:white;background:var(--deep)}.leave-balance-card.emphasized span{color:rgb(255 255 255/62%)}.leave-balance-card.emphasized strong{color:#f49b79}.leave-request-list,.review-queue{display:grid;gap:12px}.leave-request-card,.review-queue-card{display:flex;justify-content:space-between;gap:22px;align-items:center;color:var(--ink);text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.leave-request-card:hover{border-color:#d4b0a2;box-shadow:0 17px 42px rgb(34 54 46/10%);transform:translateY(-2px)}.leave-request-card h2,.review-queue-card h2{margin:6px 0 7px;font-size:17px}.leave-request-card p,.review-queue-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.leave-request-card-side{display:grid;justify-items:end;gap:9px;flex:0 0 auto}.leave-request-card-side small{color:var(--muted);font-size:9px}.leave-status{display:inline-flex;width:fit-content;padding:7px 10px;border-radius:999px;font-size:9px;font-weight:800}.leave-status.submitted{color:#715314;background:#fff3d5}.leave-status.approved{color:#276443;background:#e9f5ed}.leave-status.rejected{color:#8d2929;background:#faeaea}.leave-bottom-grid{display:grid;margin-top:18px;grid-template-columns:minmax(0,1.05fr) minmax(310px,.95fr);gap:18px;align-items:start}.leave-balance-edit h2{margin:5px 0 22px}.leave-balance-edit .project-form{gap:18px}.leave-form-summary{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:18px;border-radius:14px;background:var(--surface-soft)}.leave-form-summary small,.leave-form-summary span,.leave-form-summary strong{display:block}.leave-form-summary span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.leave-form-summary strong{margin-top:5px;color:var(--accent);font-size:24px}.leave-form-summary small{margin-top:5px;color:#8d2929;font-size:9px}.review-queue-card{padding:22px 24px}.leave-detail-grid{display:grid;margin-bottom:18px;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:18px}.leave-detail-days{color:var(--accent);font-size:22px}.leave-decision-summary h2{margin:6px 0 14px}.leave-decision-summary p{color:var(--muted);font-size:11px;line-height:1.7}.leave-decision-summary blockquote{margin:16px 0 0;padding:12px 14px;border-left:3px solid var(--accent);color:#4c5751;background:var(--surface-soft);font-size:10px;line-height:1.6}.leave-review-card{display:grid;margin-bottom:18px;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:28px}.leave-review-card h2{margin:5px 0 8px}.leave-review-card>div>p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.leave-review-form,.leave-review-form label{display:grid;gap:10px}.leave-review-form label{color:#46504b;font-size:11px;font-weight:800}.leave-review-form textarea{width:100%;padding:11px 12px;border:1px solid #d7ddd5;border-radius:9px;outline:none;resize:vertical}.leave-review-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgb(217 87 43/10%)}.leave-calendar-filter{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end}.leave-calendar-card{padding:0;overflow:hidden}.leave-calendar-grid,.leave-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.leave-calendar-weekdays{border-bottom:1px solid var(--line);background:var(--surface-soft)}.leave-calendar-weekdays span{padding:11px;color:var(--muted);font-size:9px;font-weight:800;text-align:center;text-transform:uppercase}.leave-calendar-day{min-width:0;min-height:132px;padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgb(255 255 255/72%)}.leave-calendar-day:nth-child(7n){border-right:0}.leave-calendar-day.outside{background:#f3f4f0}.leave-calendar-day>time{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:800}.leave-calendar-day>div{display:grid;gap:5px}.calendar-event{display:block;min-width:0;padding:7px;border-radius:7px;text-decoration:none}.calendar-event.interactive{transition:box-shadow .15s ease,transform .15s ease}.calendar-event.interactive:hover{box-shadow:0 6px 15px rgb(34 54 46/14%);transform:translateY(-1px)}.calendar-event.leave{color:#315a47;background:#e9f5ed}.calendar-event.absence{color:#6a5126;background:#fff3d5}.calendar-event small,.calendar-event span,.calendar-event strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event strong{font-size:8px}.calendar-event small,.calendar-event span{margin-top:2px;font-size:7px}.calendar-event small{opacity:.75}.calendar-more{color:var(--muted);font-size:8px;font-weight:800}.leave-calendar-legend{display:flex;gap:16px;align-items:center;margin-top:12px;color:var(--muted);font-size:9px}.leave-calendar-legend span{display:flex;gap:6px;align-items:center}.leave-calendar-legend i{width:9px;height:9px;border-radius:3px}.leave-calendar-legend i.leave{background:#95c7aa}.leave-calendar-legend i.absence{background:#e8c978}.leave-calendar-legend small{margin-left:auto}@media (max-width:900px){.leave-balance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.leave-bottom-grid,.leave-detail-grid,.leave-review-card{grid-template-columns:1fr}.leave-calendar-day{min-height:105px;padding:6px}}@media (max-width:620px){.leave-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-calendar-legend,.leave-form-summary,.leave-request-card,.review-queue-card{align-items:stretch;flex-direction:column}.leave-request-card-side{justify-items:start}.leave-calendar-filter{grid-template-columns:1fr}.leave-calendar-card{overflow-x:auto}.leave-calendar-grid,.leave-calendar-weekdays{min-width:720px}.leave-calendar-legend small{margin-left:0}}.dashboard-hero,.dashboard-topbar{align-items:center}.dashboard-hero{display:grid;margin-bottom:34px;padding:34px 36px;grid-template-columns:minmax(0,1fr) auto;gap:34px;border-radius:22px;color:white;background:radial-gradient(circle at 88% 20%,rgb(217 87 43/25%),transparent 18rem),linear-gradient(120deg,#172b24,#24473a);box-shadow:0 18px 48px rgb(34 54 46/14%)}.dashboard-hero h2{max-width:720px;margin:8px 0 12px;font-size:clamp(28px,4vw,46px);line-height:1.05;letter-spacing:-.045em}.dashboard-hero p{max-width:720px;margin:0;color:rgb(255 255 255/66%);font-size:12px;line-height:1.7}.dashboard-hero-action{display:grid;min-width:150px;padding:22px;place-items:center;border:1px solid rgb(255 255 255/14%);border-radius:17px;color:white;background:rgb(255 255 255/8%);text-decoration:none}.dashboard-hero-action strong{color:#f48b62;font-size:42px;line-height:1}.dashboard-hero-action span{margin-top:8px;color:rgb(255 255 255/65%);font-size:10px}.dashboard-metric-grid{display:grid;margin:16px 0 28px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-metric{display:block;min-width:0;padding:20px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:rgb(255 255 255/82%);box-shadow:0 12px 35px rgb(34 54 46/6%);text-decoration:none;transition:border-color .16s ease,transform .16s ease}.dashboard-metric:hover{border-color:#d5afa0;transform:translateY(-2px)}.dashboard-metric span,.dashboard-metric strong{display:block}.dashboard-metric strong{margin-bottom:10px;font-size:31px}.dashboard-metric span{color:var(--muted);font-size:11px;line-height:1.45}.dashboard-metric.neutral strong{color:var(--deep)}.dashboard-metric.warning strong{color:#a36e13}.dashboard-metric.danger strong{color:#a83b19}.dashboard-metric.accent strong{color:var(--accent)}.dashboard-main-grid{display:grid;margin-bottom:18px;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px;align-items:start}.dashboard-notification-list,.dashboard-operation-list,.dashboard-project-list{display:grid;margin-top:18px}.dashboard-project-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.dashboard-project-row:first-child{padding-top:3px}.dashboard-project-row>div:first-child{min-width:0}.dashboard-project-row>div:first-child span,.dashboard-project-row>div:first-child strong{display:block}.dashboard-project-row>div:first-child span{color:var(--accent-dark);font-size:8px;font-weight:800;letter-spacing:.06em}.dashboard-project-row>div:first-child strong{margin-top:5px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dashboard-project-flags{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.dashboard-project-flags span{padding:6px 8px;border-radius:999px;color:#715314;background:#fff3d5;font-size:8px;font-weight:800;white-space:nowrap}.dashboard-card-link{display:inline-block;margin-top:18px;color:var(--accent-dark);font-size:10px;font-weight:800;text-decoration:none}.dashboard-operation-list{gap:4px}.dashboard-operation-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 14px;border-radius:10px;color:var(--ink);text-decoration:none}.dashboard-operation-row:nth-child(odd){background:var(--surface-soft)}.dashboard-operation-row span{color:#4d5752;font-size:10px}.dashboard-operation-row strong{display:grid;min-width:29px;height:29px;padding:0 7px;place-items:center;border-radius:9px;color:var(--accent-dark);background:#fbe9e1;font-size:11px}.dashboard-clear-state{margin-top:18px;padding:22px;border-radius:13px;background:var(--surface-soft)}.dashboard-clear-state strong{font-size:12px}.dashboard-clear-state p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.dashboard-notification-card{margin-bottom:18px}.dashboard-notification-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-notification-row{display:grid;min-width:0;padding:13px;grid-template-columns:8px minmax(0,1fr) auto;gap:10px;align-items:start;border-radius:11px;color:var(--ink);background:var(--surface-soft);text-decoration:none}.dashboard-notification-row>span{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#c4cbc6}.dashboard-notification-row>span.unread{background:var(--accent);box-shadow:0 0 0 4px rgb(217 87 43/10%)}.dashboard-notification-row strong{display:block;font-size:10px}.dashboard-notification-row p{margin:4px 0 0;overflow:hidden;color:var(--muted);font-size:8px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.dashboard-notification-row time{color:var(--muted);font-size:7px;white-space:nowrap}.notification-overview{display:grid;margin-bottom:18px;grid-template-columns:170px 170px minmax(0,1fr);gap:12px}.notification-overview .metric-card{padding:18px}.notification-overview .metric-card strong{margin-bottom:7px;font-size:26px}.notification-tabs{display:flex;justify-content:flex-end;gap:8px;align-items:center}.notification-tabs a{padding:10px 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:white;font-size:10px;font-weight:800;text-decoration:none}.notification-tabs a.active{border-color:#e4ac96;color:var(--accent-dark);background:#fff2ec}.notification-list{display:grid;gap:10px}.notification-card{display:grid;padding:20px;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start}.notification-card.unread{border-color:#e5b29e;background:#fffdfb}.notification-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:13px;font:800 13px Manrope,Aptos,Segoe UI,sans-serif}.notification-icon.leave{color:#315a47;background:#e9f5ed}.notification-icon.document{color:#694b20;background:#fff1d7}.notification-icon.work-time{color:#65507a;background:#f1eafb}.notification-icon.general{color:#526169;background:#edf1f3}.notification-content{min-width:0}.notification-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.notification-title-row h2{margin:0;font-size:15px}.notification-title-row time{display:block;margin-top:5px;color:var(--muted);font-size:8px}.notification-new{padding:6px 8px;border-radius:999px;color:var(--accent-dark);background:#fbe9e1;font-size:8px;font-weight:800}.notification-content>p{margin:11px 0 0;color:#56615b;font-size:10px;line-height:1.6}.notification-actions{display:flex;gap:14px;align-items:center;margin-top:14px}.notification-actions .primary-button{min-height:34px;padding:7px 12px;font-size:9px}@media (max-width:900px){.dashboard-main-grid,.dashboard-notification-list{grid-template-columns:1fr}}@media (max-width:620px){.workspace{width:100%;max-width:100%;padding:24px 16px 40px;overflow:hidden}.dashboard-topbar{align-items:flex-start}.dashboard-hero{width:100%;min-width:0;max-width:100%;grid-template-columns:1fr;padding:24px 20px}.dashboard-hero h2{overflow-wrap:anywhere}.dashboard-hero-action{width:100%;min-width:0}.dashboard-main-grid,.dashboard-metric-grid,.notification-overview{width:100%;min-width:0;max-width:100%;grid-template-columns:1fr}.dashboard-main-grid>*,.dashboard-metric,.dashboard-notification-card,.notification-card{width:100%;min-width:0;max-width:100%}.content-card{padding:20px}.dashboard-project-row,.notification-actions,.notification-title-row{align-items:flex-start;flex-direction:column}.dashboard-project-flags,.notification-tabs{justify-content:flex-start}.notification-card{grid-template-columns:38px minmax(0,1fr);gap:11px}.notification-icon{width:38px;height:38px}}.danger-zone{border-color:#edc3c3;background:#fff7f5}.danger-form{display:grid;gap:12px}.confirmation-checkbox{display:flex;gap:10px;align-items:flex-start;color:#6f4c3f;font-size:12px;font-weight:800;line-height:1.5}.confirmation-checkbox input{width:auto;margin-top:2px}.settings-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.muted-settings-card{background:#f8f4ef}.audit-log-card,.audit-log-list{display:grid;gap:14px}.audit-log-card-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.audit-log-card-header h2{margin:4px 0 0;font-size:16px}.audit-log-card-header time{color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}.audit-log-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.audit-log-meta div{min-width:0}.audit-log-meta dt{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.audit-log-meta dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:12px;font-weight:800}.audit-log-payload summary{cursor:pointer;color:var(--accent-dark);font-size:12px;font-weight:900}.audit-payload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.audit-payload-grid strong{display:block;margin-bottom:6px;color:var(--text);font-size:11px}.audit-payload-grid pre{max-height:260px;margin:0;padding:12px;overflow:auto;border-radius:12px;color:#402a22;background:#f6eee9;font-size:11px;line-height:1.5;white-space:pre-wrap}@media (max-width:860px){.audit-log-meta,.audit-payload-grid,.settings-overview-grid{grid-template-columns:1fr}.audit-log-card-header{flex-direction:column}}.service-detail-grid,.service-qr-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:18px;align-items:start;margin-bottom:18px}.qr-print-card{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px;align-items:center}.qr-print-card img{width:100%;height:auto;border:1px solid var(--line);border-radius:16px;background:white}.qr-print-card input{width:100%;margin:12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--muted);font-size:11px}.qr-print-actions,.service-action-form,.service-status-actions{display:flex;gap:10px;flex-wrap:wrap}.service-project-link-form{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.service-project-link-form label{display:grid;gap:6px}.service-project-link-form label span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.service-project-link-form select,.service-project-link-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:11px}.service-project-link-form select{padding:10px 11px}.service-project-link-form textarea{min-height:82px;padding:11px;resize:vertical}.service-device-list{display:grid;gap:10px;margin-top:16px}.service-device-list article{display:grid;gap:5px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.service-device-actions,.service-device-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.service-device-actions{margin-top:7px;justify-content:flex-start}.service-device-status{display:inline-flex;align-items:center;width:fit-content;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.service-device-status.active{background:rgba(34,197,94,.14);color:#047857}.service-device-status.inactive{background:rgba(148,163,184,.18);color:#64748b}.service-device-list article>span,.service-device-list small{color:var(--muted);font-size:10px}.service-request-list{display:grid;gap:12px}.service-request-card{display:flex;justify-content:space-between;gap:18px;align-items:center;color:var(--ink);text-decoration:none}.service-request-card h2{margin:5px 0 7px;font-size:17px}.service-request-card p{margin:0;color:var(--muted);font-size:11px}.service-request-card-side{display:grid;justify-items:end;gap:8px;flex:0 0 auto}.service-request-card-side small{color:var(--muted);font-size:9px}.service-status{display:inline-flex;width:fit-content;padding:7px 10px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase}.service-status.new{color:#715314;background:#fff3d5}.service-status.analysis{color:#31556e;background:#e4f1f8}.service-status.accepted,.service-status.completed,.service-status.project_created{color:#276443;background:#e9f5ed}.service-status.rejected{color:#8d2929;background:#faeaea}.service-detail-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.service-text-block{margin:16px 0 0;padding:16px;border-left:3px solid var(--accent);border-radius:12px;background:var(--surface-soft);white-space:pre-wrap}.translation-grid{display:grid;gap:12px}.translation-grid div{padding:14px;border-radius:12px;background:var(--surface-soft)}.translation-grid p{margin:8px 0 0;color:#46504b;font-size:12px;line-height:1.6;white-space:pre-wrap}.service-status-actions{display:grid;margin:14px 0 18px}.service-status-actions form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.service-status-actions input{min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.service-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.service-photo-grid a{display:grid;gap:8px;color:var(--ink);text-decoration:none}.service-photo-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.service-photo-grid span{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.service-status-history{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}.service-status-history li{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.service-status-history p,.service-status-history span{display:block;margin:5px 0 0;color:var(--muted);font-size:10px}.public-service-page{display:grid;min-height:100vh;padding:22px;place-items:center;background:radial-gradient(circle at 80% 0,rgb(217 87 43/10%),transparent 24rem),var(--background)}.public-service-card{width:min(620px,100%);padding:clamp(22px,5vw,38px);border:1px solid var(--line);border-radius:24px;background:rgb(255 255 255/90%);box-shadow:0 22px 60px rgb(34 54 46/10%)}.public-service-card h1{margin:8px 0 12px;font-size:clamp(30px,8vw,46px);line-height:1.05;letter-spacing:-.045em}.public-service-card>p{color:var(--muted);line-height:1.65}.field-help{color:var(--muted);font-size:10px;font-weight:600;line-height:1.5}.public-device-box{display:grid;gap:5px;margin:20px 0;padding:16px;border-radius:14px;color:white;background:var(--deep)}.public-device-box small,.public-device-box span{color:rgb(255 255 255/66%);font-size:12px}.hidden-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.pending-action-overlay{display:grid;position:fixed;z-index:1200;inset:0;padding:24px;place-items:center;background:rgb(20 31 27/74%);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.pending-action-card{display:grid;width:min(320px,100%);padding:30px;place-items:center;gap:16px;border:1px solid rgb(255 255 255/35%);border-radius:24px;color:var(--ink);background:rgb(255 255 255/94%);box-shadow:0 30px 90px rgb(0 0 0/28%);text-align:center}.pending-action-logo{width:82px;height:82px;object-fit:contain;animation:pending-action-logo-spin 1.15s linear infinite}.pending-action-card strong{font-size:14px}@keyframes pending-action-logo-spin{to{transform:rotate(1turn)}}.route-loading{display:grid;min-height:60vh;place-items:center}.route-loading .pending-action-card{border-color:rgb(20 31 27/12%);box-shadow:0 18px 50px rgb(0 0 0/12%)}@media print{.filter-card,.pagination,.portal-footer,.service-qr-grid,.service-request-list,.sidebar,.topbar{display:none}.app-shell,.workspace{display:block;width:100%;padding:0}.qr-created-card{border:0;box-shadow:none}}@media (max-width:900px){.qr-print-card,.service-detail-grid,.service-qr-grid{grid-template-columns:1fr}.service-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.qr-print-actions,.service-detail-heading,.service-request-card{align-items:stretch;flex-direction:column}.service-request-card-side{justify-items:start}.service-status-actions form{grid-template-columns:1fr}.public-service-page{padding:12px}}