.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--acc) 0%,var(--acc) 100%)}.login-card{background:var(--surf);border-radius:8px;box-shadow:0 10px 40px #0003;padding:40px;width:100%;max-width:400px}.login-card h1{text-align:center;margin-bottom:10px;color:var(--ink)}.login-card h2{text-align:center;margin-bottom:30px;color:var(--mut);font-weight:400}.login-toggle{margin-top:20px;text-align:center;font-size:14px;color:var(--mut)}.login-toggle .link-button{background:none;border:none;color:var(--acc);cursor:pointer;font-size:inherit;text-decoration:underline;padding:0}.login-toggle .link-button:hover{color:var(--acc)}.form-hint{display:block;margin-top:4px;color:var(--faint);font-size:12px}.kit-table{width:100%;border-collapse:collapse;margin:8px 0 12px}.kit-table th,.kit-table td{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.kit-table th{font-size:12px;color:var(--mut);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.kit-table .num{text-align:right;white-space:nowrap}.kit-table input:not([type=checkbox]){width:100%;padding:5px 6px;border:1px solid var(--line);border-radius:4px;font:inherit}.kit-table td.num input{width:72px;text-align:right}.kit-money-input{display:inline-flex;align-items:center;gap:2px}.kit-money-input input{width:84px!important}.kit-row-muted td,.kit-row-muted input{color:var(--faint)}.kit-amount{font-variant-numeric:tabular-nums;min-width:90px}.kit-row-actions{white-space:nowrap;text-align:right}.btn-icon{background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:16px;line-height:1;padding:4px 8px;color:var(--mut)}.btn-icon:hover:not(:disabled){border-color:var(--line);color:var(--ink)}.btn-icon:disabled{opacity:.3;cursor:default}.btn-small{padding:6px 12px;font-size:13px}a.btn{display:inline-block;text-decoration:none}.kit-quote-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.kit-status{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--soft);color:var(--mut)}.kit-status-shared{background:var(--info-bg);color:var(--info)}.kit-status-agreed{background:var(--ok-bg);color:var(--ok)}.kit-filter{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--mut);margin-top:4px}.kit-add{margin-bottom:12px}.kit-bottom{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.kit-note{flex:1 1 260px}.kit-note label{display:block;font-weight:500;color:var(--mut);margin-bottom:4px}.kit-note textarea{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:4px;font:inherit}.kit-totals{margin-left:auto;min-width:260px;border-collapse:collapse}.kit-totals td{padding:4px 6px}.kit-totals .num{text-align:right;font-variant-numeric:tabular-nums}.kit-totals input{width:56px;margin:0 4px;padding:3px 4px;border:1px solid var(--line);border-radius:4px;text-align:right}.kit-grand td{border-top:2px solid var(--ink);font-weight:700;font-size:16px;padding-top:8px}.kit-save-state{font-size:12px;color:var(--faint);margin:6px 0 12px}.kit-link{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.kit-link input{flex:1 1 280px;padding:6px 8px;border:1px solid var(--line);border-radius:4px;font:inherit;color:var(--ink);background:var(--surf)}.kit-delete{margin-left:auto}.kit-paste{display:flex;flex-direction:column;gap:6px;margin-top:8px}.kit-paste label{font-weight:500;color:var(--mut)}.kit-paste small{color:var(--mut)}.kit-paste textarea{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:4px;font-family:Menlo,monospace;font-size:12px}@media (max-width: 640px){.kit-table td.num input{width:56px}.kit-money-input input{width:64px!important}.kit-totals{min-width:0;width:100%}}.invoice-design .id-muted{color:var(--faint);font-size:13px;margin:4px 0 16px;max-width:70ch}.invoice-design .id-layout{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}.invoice-design .id-controls{flex:1 1 320px;min-width:300px;display:flex;flex-direction:column;gap:16px}.invoice-design .id-preview{flex:1 1 380px;min-width:320px}.invoice-design .id-field{display:flex;flex-direction:column;gap:6px}.invoice-design .id-field>label{font-size:13px;font-weight:600;color:var(--ink)}.invoice-design .id-field small{color:var(--faint);font-size:12px}.invoice-design .id-row{display:flex;gap:16px;flex-wrap:wrap}.invoice-design .id-row>.id-field{flex:1 1 160px}.invoice-design .id-templates{display:flex;flex-direction:column;gap:8px}.invoice-design .id-template{text-align:left;border:1.5px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--surf);cursor:pointer;display:flex;flex-direction:column;gap:2px}.invoice-design .id-template:hover{border-color:var(--line)}.invoice-design .id-template.active{border-color:var(--acc);background:var(--info-bg)}.invoice-design .id-template-name{font-weight:600;font-size:14px;color:var(--ink)}.invoice-design .id-template-desc{font-size:12px;color:var(--mut)}.invoice-design .id-color{display:flex;align-items:center;gap:8px}.invoice-design .id-color input[type=color]{width:44px;height:34px;padding:2px;border:1px solid var(--line);border-radius:6px;background:var(--surf);cursor:pointer}.invoice-design .id-hex{width:100px;font-family:ui-monospace,Menlo,monospace;text-transform:lowercase}.invoice-design .id-logo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.invoice-design .id-logo-img{max-height:40px;max-width:130px;border:1px solid var(--line);border-radius:4px;padding:3px;background:var(--surf)}.invoice-design .id-logo-empty{font-size:12px;color:var(--faint)}.invoice-design .id-upload{cursor:pointer;margin:0}.invoice-design .id-remove{border:none;background:none;color:var(--err);font-size:12px;cursor:pointer;padding:0}.invoice-design .id-preview-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}.invoice-design .id-preview-frame{width:100%;height:620px;border:1px solid var(--line);border-radius:8px;background:var(--surf)}.invoice-design .id-msg{font-size:13px;margin-left:10px}.invoice-design .id-msg-success{color:var(--ok)}.invoice-design .id-msg-error{color:var(--err)}.dl-page{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;flex-direction:column;gap:16px}.dl-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.dl-head h1{font-size:24px;margin:0}.dl-head span{color:var(--mut);font-size:13px}.dl-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:start}.dl-col{display:flex;flex-direction:column;gap:14px;min-width:0}@media (max-width: 860px){.dl-grid{grid-template-columns:minmax(0,1fr)}}.dl-label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--mut);font-weight:600}.dl-empty{color:var(--mut);background:var(--surf);border:1px dashed var(--line);border-radius:12px;padding:22px}.jc{background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:16px 18px;position:relative;transition:background .8s ease,border-color .8s ease,box-shadow 1s ease}.jc.wrapped{background:var(--t);border-color:transparent}.jc.lit{box-shadow:0 0 0 1px var(--glow),0 14px 40px -12px var(--glow)}.jc-title{display:block;font-size:17px;font-weight:650;letter-spacing:-.01em;color:var(--ink);text-decoration:none}.jc-title:hover{text-decoration:underline}.jc-sub{font-size:12px;color:var(--mut)}.ticks{display:flex;gap:6px;font-size:11px;color:var(--faint);flex-wrap:wrap;margin-top:8px}.ticks span{padding:2px 8px;border-radius:99px;background:var(--soft)}.ticks span.on{color:var(--ink)}.ticks span.on:before{content:"✓ ";font-weight:700}.sec{position:relative;display:flex;align-items:center;gap:8px;margin-top:16px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-weight:600}.sec:after{content:"";flex:1;height:1px;background:var(--line)}.day{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 14px;padding:11px 0;border-bottom:1px solid var(--line)}.day-top{display:flex;gap:8px;align-items:baseline;font-size:14px;font-weight:600}.day-top a{color:inherit;text-decoration:none}.day-top em{font-style:normal;font-weight:400;font-size:12px;color:var(--mut)}.times{display:flex;gap:6px 16px;font-family:var(--f-tc);font-size:13px;font-variant-numeric:tabular-nums;flex-wrap:wrap}.times small{display:block;font-family:var(--f-ui);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.day.ok .times{color:var(--mut)}.day .rec{grid-column:2;grid-row:1 / 3}.day.flash{animation:dflash .7s ease}@keyframes dflash{30%{background:color-mix(in srgb,var(--rec) 9%,transparent)}}.day-extra{font-size:12px;color:var(--mut);padding:8px 0;border-bottom:1px solid var(--line)}.rec{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--rec);padding:0;display:grid;place-items:center;background:transparent;color:var(--rec);font:700 10px var(--f-tc);letter-spacing:.1em;cursor:pointer;transition:background .25s,color .25s,box-shadow .4s,transform .12s}.rec:hover:not(:disabled):not(.on){background:color-mix(in srgb,var(--rec) 13%,transparent)}.rec:active:not(:disabled){transform:scale(.92)}.rec:disabled{opacity:.3;cursor:default}.rec.on{background:var(--rec);color:#fff;cursor:default;box-shadow:var(--rec-halo)}.rec.ignite{animation:ignite .7s ease}@keyframes ignite{0%{background:transparent}20%{background:var(--rec)}35%{background:transparent}55%,to{background:var(--rec)}}.stamp{position:absolute;right:0;top:-5px;border:2px solid var(--rec);color:var(--rec);font:700 10px var(--f-tc);letter-spacing:.12em;text-transform:uppercase;padding:2px 6px;border-radius:4px;transform:rotate(-6deg);opacity:.9;background:var(--surf)}.stamp.go{animation:stamp .45s cubic-bezier(.3,1.6,.5,1)}@keyframes stamp{0%{opacity:0;transform:rotate(-6deg) scale(2.2)}60%{opacity:.95}to{opacity:.9;transform:rotate(-6deg) scale(1)}}.row{display:flex;align-items:center;gap:12px;padding:12px 0;font-size:14px;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0;padding-bottom:0}.row-l{flex:1;min-width:0}.row-l small{display:block;color:var(--mut);font-size:12px}.row.ok .row-l b:before{content:"✓";display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--ink);color:var(--surf);font-size:10px;margin-right:7px}.gate{padding:12px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.gate-doc{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#fff}.gate-doc iframe{display:block;width:100%;height:440px;border:0;background:#fff}.gate-doc.sweep:after{content:"";position:absolute;inset:-20% auto -20% -40%;width:40%;pointer-events:none;background:linear-gradient(90deg,transparent,#ffffffcc,transparent);transform:skew(-15deg);animation:sweep 1.1s ease .15s forwards}@keyframes sweep{to{left:120%}}.gate-to{display:grid;grid-template-columns:80px minmax(0,1fr);gap:6px 10px;align-items:center;font-size:13px}.gate-to label{color:var(--mut)}.gate-to input,.gate-to textarea{width:100%}.gate-to textarea{min-height:120px;resize:vertical}.gate-bar{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--mut)}.gate-bar span{margin-right:auto}.dl-err{color:var(--err);font-size:13px}.wrapbox{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:8px}.env{position:relative;width:150px;height:86px;flex:none;perspective:400px;margin-top:14px}.env-back{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--soft);border:1px solid var(--line);border-radius:6px}.env-cash{position:absolute;left:14px;right:14px;top:6px;height:46px;border-radius:3px;display:grid;place-items:center;background:repeating-linear-gradient(90deg,var(--cash) 0 26px,var(--cash-edge) 26px 27px);border:1px solid var(--cash-edge);font:700 12px var(--f-tc);color:#1d3a1c;transition:transform .7s cubic-bezier(.3,.7,.2,1)}.env-doc{position:absolute;left:22px;right:22px;top:2px;height:50px;background:#fff;border:1px solid #00000018;border-radius:2px;transition:transform .7s cubic-bezier(.3,.7,.2,1) .05s}.env-front{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surf);border:1px solid var(--line);border-radius:6px;clip-path:polygon(0 34%,50% 70%,100% 34%,100% 100%,0 100%);z-index:2}.env-flap{position:absolute;left:0;right:0;top:0;height:62%;background:var(--line);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;transform:rotateX(180deg);transition:transform .45s ease;z-index:3}.env-seal{position:absolute;left:50%;top:52%;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--rec);z-index:4;transform:scale(0);transition:transform .3s cubic-bezier(.3,1.8,.5,1)}.env.up .env-cash{transform:translateY(-34px)}.env.up .env-doc{transform:translateY(-40px)}.env.closed .env-flap{transform:rotateX(0)}.env.closed .env-seal{transform:scale(1)}.env.closed .env-cash,.env.closed .env-doc{opacity:0;transition:opacity .2s ease .25s}.wrapline span{display:block;font-size:12px;color:var(--mut)}.wrapline .big{font-size:26px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-shadow:var(--halo)}.toast{display:flex;align-items:center;gap:12px;background:var(--ink);color:var(--surf);border-radius:12px;padding:11px 15px;font-size:14px;animation:tin .45s ease}@keyframes tin{0%{opacity:0;transform:translateY(8px)}}.clap{width:46px;flex:none}.clap-stick{height:8px;background:repeating-linear-gradient(115deg,var(--surf) 0 7px,var(--ink) 7px 14px);border:1px solid var(--surf);transform-origin:2px 100%;transform:rotate(-28deg);transition:transform .22s cubic-bezier(.6,0,.9,.4)}.clap.shut .clap-stick{transform:none}.clap-board{border:1px solid var(--surf);border-top:0;height:16px}.list{background:var(--surf);border:1px solid var(--line);border-radius:12px;overflow:hidden}.mini{display:flex;align-items:center;gap:10px;padding:11px 13px;font-size:13px;color:var(--ink);text-decoration:none}.mini+.mini{border-top:1px solid var(--line)}a.mini:hover{background:var(--soft)}.mini-t{flex:1;min-width:0}.mini-t b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-t span{font-size:12px;color:var(--mut)}.mini-bar{width:4px;align-self:stretch;border-radius:2px;background:var(--s, var(--faint));flex:none}.amt{font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.looks{display:flex;gap:8px;flex-wrap:wrap}.look{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:12px;border:1px solid var(--line);background:var(--surf);color:var(--ink);text-align:left;cursor:pointer;font:inherit}.look[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.look-sw{display:flex;border-radius:6px;overflow:hidden;width:40px;height:28px;flex:none;border:1px solid #0000001a}.look-sw i{flex:1}.look b{display:block;font-size:13px}.look small{display:block;font-size:11px;color:var(--mut)}.settings-page [hidden]{display:none!important}.settings-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px;border-bottom:1px solid var(--line)}.settings-tabs button{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:8px 12px;color:var(--mut);font:inherit;font-weight:600;cursor:pointer}.settings-tabs button:hover{color:var(--ink)}.settings-tabs button[aria-current=page]{color:var(--ink);border-bottom-color:var(--acc)}.settings-description{color:var(--mut);margin-bottom:30px;font-size:14px}.settings-sections{display:flex;flex-direction:column;gap:20px}.form-group small{display:block;margin-top:5px;color:var(--faint);font-size:12px}.form-actions{margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.form-actions button{min-width:150px}.meal-penalty-tiers .tier-rows{display:flex;flex-direction:column;gap:10px;margin:10px 0}.meal-penalty-tiers .tier-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.meal-penalty-tiers .tier-row input[type=number]{width:70px}.meal-penalty-tiers .tier-label{font-size:12px;color:var(--mut);min-width:32px}.meal-penalty-tiers .tier-use-rate{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.meal-penalty-tiers .btn-sm{padding:4px 10px;font-size:12px}.meal-penalty-tiers .btn-ghost{background:transparent;border:1px solid var(--line)}.role-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.role-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;color:var(--mut);cursor:pointer;font-size:.9em;-webkit-user-select:none;user-select:none}.role-chip input{margin:0;accent-color:var(--acc)}.role-chip.on{color:var(--ink);border-color:var(--acc)}.role-aka{display:block;color:var(--faint);margin-bottom:2px}.role-dept{border:1px solid var(--line);border-radius:8px;padding:8px 12px 10px;margin:0 0 10px}.role-dept legend{display:flex;align-items:center;gap:6px;padding:0 4px;color:var(--ink);font-weight:600}.role-remove{background:none;border:0;color:var(--mut);cursor:pointer;font-size:1.1em;padding:0 2px}.role-remove:hover{color:var(--ink)}.role-add{margin:0 0 8px;max-width:100%}.role-others{display:grid;gap:6px}.role-others input{width:100%}.time-entries-editor .time-entries-editor-header{display:flex;justify-content:space-between;align-items:center}.time-entries-editor .time-entries-message{margin-bottom:12px}.time-entries-editor .time-entry-form{padding:16px 0;border-bottom:1px solid var(--line)}.time-entries-editor .time-entry-form .form-actions{margin-top:12px;padding-top:12px;border-top:none}.time-entries-empty{color:var(--mut);padding:20px;margin:0}.time-entries-table{margin-top:16px}.time-entries-table .th-actions,.time-entries-table .td-actions{white-space:nowrap;width:1%}.time-entries-table .td-actions{display:flex;gap:6px}.time-entry-inline-edit .inline-edit-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.time-entry-inline-edit .inline-edit-row label{font-size:12px;color:var(--mut);margin-right:2px}.time-entry-inline-edit .inline-edit-row input[type=time]{width:auto}.import-audit{margin-top:.75rem;font-size:.875rem}.import-audit h4{margin:1rem 0 .35rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted, var(--mut))}.import-audit h4:first-child{margin-top:0}.import-audit-table{width:100%;border-collapse:collapse;margin-bottom:.5rem;background:var(--card-bg, var(--surf))}.import-audit-table th,.import-audit-table td{border:1px solid var(--border, var(--line));padding:.4rem .55rem;text-align:left;vertical-align:top}.import-audit-table th{background:var(--table-header-bg, var(--surf));font-weight:600;white-space:nowrap;width:1%}.import-audit-table td.field{font-weight:500;color:var(--muted, var(--mut));width:11rem}.import-audit-table pre.cell-json,.import-audit .cell-pre{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;white-space:pre-wrap;word-break:break-word;max-height:12rem;overflow:auto}.import-audit-empty{color:var(--muted, var(--faint));font-style:italic;font-size:.85rem}.import-audit summary{cursor:pointer;font-weight:600;color:var(--link, var(--acc));-webkit-user-select:none;user-select:none}.import-audit details.raw-json{margin-top:.75rem}.task-checklist{display:flex;flex-direction:column;gap:12px}.task-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.task-row:last-child{border-bottom:none}.task-row-main{display:flex;align-items:center;gap:10px}.task-label{font-weight:500;color:var(--ink)}.task-row-actions{display:flex;gap:8px}.task-notes{width:100%;color:var(--faint);font-size:12px}.task-detail{width:100%;display:flex;align-items:center;gap:8px;color:var(--mut);font-size:13px}.status-done{background-color:var(--ok-bg);color:var(--ok)}.status-skipped{background-color:var(--soft);color:var(--mut)}.reimbursement-form{border:1px solid var(--line);border-radius:6px;padding:12px;margin:10px 0 16px;background:var(--surf)}.reimbursement-edit-form{flex:1;margin:0}.reimbursement-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.reimbursement-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.reimbursement-row:last-child{border-bottom:none}.reimbursement-row-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.reimbursement-amount{font-weight:600;color:var(--ink)}.reimbursement-desc{color:var(--mut)}.reimbursement-date{color:var(--faint);font-size:13px}.reimbursement-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.receipt-upload-label{cursor:pointer}.payroll-summary .ps-muted{color:var(--faint);font-size:13px;margin:4px 0 12px}.payroll-summary .ps-block{margin-bottom:16px}.payroll-summary h3{font-size:14px;margin:0 0 8px;color:var(--ink)}.ps-table-wrap{overflow-x:auto}.ps-table{width:100%;border-collapse:collapse;font-size:13px}.ps-table th,.ps-table td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.ps-table thead th{font-weight:600;color:var(--mut);border-bottom:2px solid var(--line)}.ps-table .ps-num{text-align:right}.ps-table tfoot td{font-weight:600;border-top:2px solid var(--line);border-bottom:none}.ps-penalty{display:inline-block;min-width:18px;padding:1px 7px;border-radius:10px;background:var(--warn-bg);color:var(--warn);font-weight:600}.ps-totals{display:flex;gap:24px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--line)}.ps-total-item{display:flex;flex-direction:column}.ps-total-label{font-size:12px;color:var(--faint);text-transform:uppercase;letter-spacing:.4px}.ps-total-value{font-size:15px;font-weight:600;color:var(--ink)}.ps-tag{font-size:11px;font-weight:600;color:var(--warn)}.ps-reimb-list{list-style:none;margin:10px 0 0;padding:0;font-size:13px}.ps-reimb-list li{display:flex;gap:12px;padding:4px 0;border-bottom:1px solid var(--line)}.ps-reimb-cat{flex:0 0 90px;color:var(--mut)}.ps-reimb-desc{flex:1 1 auto;color:var(--ink)}.ps-reimb-amt{flex:0 0 auto;font-weight:600}.billing-summary{padding:10px 12px;border-radius:6px;background:var(--ok-bg);color:var(--ok);font-weight:500}.billing-summary-action{background:var(--warn-bg);color:var(--warn)}.billing-invoices{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:6px}.billing-invoices li{display:flex;align-items:center;gap:10px}.billing-inv-number{font-family:ui-monospace,monospace;font-size:13px}.billing-muted{color:var(--faint);font-size:12px}.billing-timesheets{width:100%;margin-top:12px;border-collapse:collapse}.billing-timesheets th,.billing-timesheets td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}.timesheet-due{background-color:var(--warn-bg);color:var(--warn)}.timesheet-submitted{background-color:var(--info-bg);color:var(--acc)}.timesheet-approved,.timesheet-paid{background-color:var(--ok-bg);color:var(--ok)}.billing-invoices .status-draft{background-color:var(--warn-bg);color:var(--warn)}.billing-invoices .status-sent{background-color:var(--info-bg);color:var(--info)}.billing-invoices .status-paid{background-color:var(--ok-bg);color:var(--ok)}.billing-overlap{margin-top:10px;padding:10px 12px;border-radius:6px;background:var(--err-bg);color:var(--err);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.cancelled-days{margin-top:14px}.cancelled-days h3{font-size:15px;margin:0 0 6px}.cancelled-days ul{list-style:none;padding:0;margin:0 0 10px}.cancelled-days li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0}.cancelled-label{font-weight:600}.cancelled-fee{margin-left:auto}.cancel-form{display:flex;flex-direction:column;gap:10px;max-width:420px}.cancel-form label{display:flex;flex-direction:column;gap:4px;font-size:13px}.cancel-range{display:flex;align-items:center;gap:6px}.cancel-actions{display:flex;gap:8px}.cancel-days-pick{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.cancel-suggestion{border:1px solid var(--warn);background:var(--warn-bg);border-radius:6px;padding:10px 12px;margin-bottom:12px}.cancel-suggestion p{margin:0 0 6px}.cancel-suggestion blockquote{margin:0 0 8px;padding-left:10px;border-left:3px solid var(--warn);font-style:italic;overflow-wrap:anywhere}.job-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.job-header-actions{display:flex;gap:10px}.job-sections{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.client-select-row{display:flex;align-items:center;gap:12px}.client-edit-link{font-size:14px;white-space:nowrap}.checkbox-group{display:flex;flex-direction:column}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;cursor:pointer}.radio-group label{display:flex;align-items:center;gap:8px;margin-bottom:8px;cursor:pointer}.radio-group input[type=radio]{width:auto}.settings-info{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.default-settings-info{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--mut)}.default-settings-info strong{color:var(--ink)}.form-actions{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:10px}.invoice-preview-content{margin-top:20px}.invoice-preview-content h3{margin-bottom:20px;color:var(--ink)}.text-right{text-align:right}.alert-info{background-color:var(--info-bg);color:var(--info);border:1px solid var(--acc)}.card .card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.card-description{font-size:13px;color:var(--mut);margin:0 0 12px}.muted{color:var(--faint);font-size:14px}.linked-emails-list,.unlinked-emails-list{list-style:none;padding:0;margin:0}.linked-emails-list li,.unlinked-emails-list li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.email-subject{font-weight:500;min-width:120px}.email-meta{font-size:12px;color:var(--mut);flex:1}.email-actions{display:flex;align-items:center;gap:8px}.email-import-audit-block{flex:1 1 100%;width:100%;padding:8px 0 4px;border-top:1px dashed var(--line)}.email-import-audit-summary{cursor:pointer;font-weight:600;font-size:.85rem;color:var(--acc)}.reassign-select{max-width:200px;padding:4px 8px}.merge-row{display:flex;flex-direction:column;gap:12px}.merge-row label{display:flex;align-items:center;gap:8px;font-size:14px}.modal-content{background:var(--surf);padding:24px;border-radius:8px;max-width:500px;width:90%;max-height:80vh;overflow:auto}.modal-content h3{margin-top:0}.modal-content .btn{margin-top:12px}.pipeline-diff-heading{font-size:14px;margin:0 0 8px;font-weight:600}.pipeline-diff-pre{font-size:12px;overflow:auto;max-height:320px;padding:12px;background:var(--surf);border-radius:6px;border:1px solid var(--line)}.pipeline-snapshot-details{margin-top:12px}.clients-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.clients-header h1{margin:0}.clients-table-container{margin-top:16px}.client-link{font-weight:500;color:var(--acc);text-decoration:none}.client-link:hover{text-decoration:underline}.clients-table-container .th-actions,.clients-table-container .td-actions{white-space:nowrap;width:1%}.clients-table-container .td-actions{display:flex;gap:8px}.btn-sm{padding:4px 10px;font-size:13px}.client-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.client-header h1{margin:0}.client-header-actions{display:flex;gap:10px}.form-actions{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:10px}.invoices-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.invoices-header h1{margin:0}.invoices-table-container{margin-top:16px}.invoices-table-container .job-link{font-weight:500;color:var(--acc);text-decoration:none}.invoices-table-container .job-link:hover{text-decoration:underline}.invoices-table-container .th-actions,.invoices-table-container .td-actions{white-space:nowrap}.invoices-table-container .td-actions>*{margin:2px 6px 2px 0;display:inline-block}.invoices-table-container .btn-sm{padding:4px 10px;font-size:13px}.invoice-header-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.invoice-actions{display:flex;gap:10px}.invoice-info-card{margin-bottom:30px}.invoice-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.invoice-info-grid div{padding:10px 0}.invoice-info-grid strong{display:block;margin-bottom:5px;color:var(--mut)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--surf);padding:24px;border-radius:8px;max-width:440px;width:90%;box-shadow:0 4px 20px #00000026}.modal-content h3{margin-top:0;margin-bottom:16px}.modal-content .form-group{margin-bottom:16px}.modal-content .form-group label{display:block;margin-bottom:6px;font-weight:500}.modal-content input,.modal-content textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:4px;box-sizing:border-box}.modal-actions{display:flex;gap:10px;margin-top:20px}.line-items-card{margin-bottom:30px}.line-items-card h2{margin-top:0}.line-items-header{display:flex;align-items:center;justify-content:space-between}.line-items-header h2{margin:0}.line-items-saved{font-size:12px;color:var(--ok);font-weight:600}.line-items-help{font-size:13px;color:var(--mut);margin:6px 0 16px;line-height:1.5;max-width:720px}.line-items-table-wrap{overflow-x:auto}.line-items-table{width:100%;border-collapse:collapse;font-size:13px}.line-items-table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:600;padding:0 8px 8px 0;border-bottom:1.5px solid var(--line)}.line-items-table td{padding:8px 8px 8px 0;vertical-align:top;border-bottom:1px solid var(--line)}.line-items-table input,.line-items-table select{padding:5px 8px;border:1px solid var(--line);border-radius:4px;font-size:13px;font-family:inherit;width:100%;box-sizing:border-box;background:var(--surf)}.line-items-table input:disabled{background:var(--surf);color:var(--faint)}.line-items-table .col-desc{min-width:240px}.line-items-table .col-desc input{margin-bottom:4px}.line-type-select{font-size:11px!important;padding:3px 6px!important;color:var(--mut);width:100%}.line-items-table .col-qty,.line-items-table .col-rate{width:90px}.line-items-table .col-disc{width:170px}.line-items-table .col-total{width:130px;text-align:right;white-space:nowrap}.line-items-table .col-x{width:32px;text-align:center}.line-items-table .num{font-variant-numeric:tabular-nums}.discount-cell{display:flex;align-items:center;gap:6px}.discount-toggle{display:inline-flex;border:1px solid var(--line);border-radius:4px;overflow:hidden;flex-shrink:0}.discount-toggle .seg{background:var(--surf);border:none;cursor:pointer;padding:5px 10px;font-weight:700;font-size:12px;color:var(--mut);border-right:1px solid var(--line)}.discount-toggle .seg:last-child{border-right:none}.discount-toggle .seg.active{background:var(--ink);color:var(--acc-ink)}.discount-value{width:80px!important;flex:1 1 auto}.line-gross{font-weight:600;color:var(--ink)}.has-discount .line-gross{color:var(--ink)}.line-disc-sub{display:flex;justify-content:space-between;font-size:11px;color:var(--err);margin-top:2px;gap:8px}.line-disc-sub .disc-label{text-align:left}.line-disc-sub .disc-amount{font-variant-numeric:tabular-nums}.line-net{font-size:11px;color:var(--mut);margin-top:1px;font-variant-numeric:tabular-nums}.line-remove{background:none;border:none;color:var(--err);cursor:pointer;font-size:14px;padding:4px 8px;border-radius:4px}.line-remove:hover{background:var(--err-bg)}.line-add{margin-top:12px}.line-totals{margin-top:18px;margin-left:auto;width:260px;font-size:13px}.line-totals-row{display:flex;justify-content:space-between;padding:4px 0;color:var(--mut)}.line-totals-row.discount{color:var(--err)}.line-totals-row.grand{border-top:2px solid var(--ink);margin-top:6px;padding-top:10px;font-size:18px;font-weight:700;color:var(--ink)}.line-items-actions{margin-top:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.line-items-note{font-size:12px;color:var(--faint)}.inv-disc{margin-top:16px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.inv-disc-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:8px}.inv-disc-head .line-items-help{margin:0}.inv-disc-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}.inv-disc-row.radio-group label{display:flex;align-items:center;gap:6px;margin:0}.inv-disc-row.radio-group input{width:auto}.inv-disc .discount-value{flex:0 0 110px;width:110px}.inv-disc-note{flex:1 1 220px;min-width:0}.inv-disc-include{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:var(--mut);white-space:nowrap}.inv-disc-include input{width:auto}.import-from-gmail .import-description{color:var(--mut);margin-bottom:24px;font-size:14px}.import-from-gmail .import-description code{background:var(--surf);padding:2px 6px;border-radius:4px;font-size:13px}.import-from-gmail .import-form{margin-bottom:24px}.import-from-gmail .form-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.import-from-gmail .form-actions{margin-top:16px;display:flex;gap:12px}.import-from-gmail .preview-result,.import-from-gmail .import-result{margin-top:24px}.import-from-gmail .preview-list,.import-from-gmail .job-links{list-style:none;padding:0;margin:12px 0 0}.import-from-gmail .preview-list li,.import-from-gmail .job-links li{padding:8px 0;border-bottom:1px solid var(--line)}.import-from-gmail .job-links a{color:var(--acc);text-decoration:none}.import-from-gmail .job-links a:hover{text-decoration:underline}.import-from-gmail .linked-badge{font-size:12px;color:var(--mut);font-style:italic}.import-from-gmail .import-result .btn{margin-top:12px}.import-from-gmail .triage-table-wrap{overflow-x:auto;margin-top:12px}.import-from-gmail .triage-table{width:100%;border-collapse:collapse;font-size:14px}.import-from-gmail .triage-table th,.import-from-gmail .triage-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}.import-from-gmail .triage-table th{font-weight:600;color:var(--ink)}.import-from-gmail .triage-panel h3{margin:20px 0 10px;font-size:1.05rem}.import-from-gmail .triage-summary strong{color:var(--warn)}.import-from-gmail .triage-options{display:flex;flex-direction:column;gap:8px;min-width:180px}.import-from-gmail .triage-options input[type=number]{max-width:100px}.import-from-gmail .triage-refresh-label{font-weight:400;font-size:13px}.import-from-gmail .triage-confirm-section{margin:20px 0;padding:16px;background:var(--surf);border-radius:8px;border:1px solid var(--line)}.import-from-gmail .triage-hint{font-size:13px;color:var(--mut);margin:0 0 12px;line-height:1.45}.import-from-gmail .triage-confirm-list{list-style:none;padding:0;margin:0}.import-from-gmail .triage-confirm-item{padding:14px 0;border-bottom:1px solid var(--line)}.import-from-gmail .triage-confirm-item:last-child{border-bottom:none}.import-from-gmail .triage-confirm-head{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;margin-bottom:6px}.import-from-gmail .triage-meta{font-size:12px;color:var(--mut)}.import-from-gmail .triage-reason,.import-from-gmail .triage-note{font-size:13px;margin:4px 0;color:var(--ink)}.import-from-gmail .triage-note{color:var(--warn)}.import-from-gmail .triage-confirm-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:10px}.import-from-gmail .triage-job-field,.import-from-gmail .triage-job-id-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.import-from-gmail .triage-job-field select{min-width:220px;max-width:100%;padding:6px 8px}.import-from-gmail .triage-job-id-field input{width:100px;padding:6px 8px}.import-from-gmail .triage-long-term{font-size:13px;display:flex;align-items:center;gap:6px;white-space:nowrap}.import-from-gmail .btn-sm{padding:6px 14px;font-size:14px}.import-from-gmail .triage-subj{max-width:280px;word-break:break-word}.import-from-gmail .triage-sent{white-space:nowrap;font-size:13px;color:var(--mut)}.import-from-gmail .triage-row-warn{background:var(--surf)}.import-from-gmail .triage-badge{font-size:12px;padding:2px 8px;border-radius:4px;background:var(--soft);color:var(--mut)}.import-from-gmail .triage-badge-ok{background:var(--ok-bg);color:var(--ok)}.import-from-gmail .triage-badge-warn{background:var(--warn-bg);color:var(--warn)}.import-from-gmail .triage-badge-new{background:var(--info-bg);color:var(--acc);margin-left:6px}.import-from-gmail .custom-range{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:8px}.import-from-gmail .custom-range label{display:flex;flex-direction:column;font-size:12px;color:var(--mut);gap:2px}.import-from-gmail .custom-range small{flex-basis:100%;color:var(--faint)}.jobs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.filters{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap;padding:20px;background:var(--surf);border-radius:8px;box-shadow:0 2px 4px #0000001a}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-weight:500;margin:0}.search-input{padding:10px;border:1px solid var(--line);border-radius:4px;font-size:14px;min-width:200px}.jobs-table-container{background:var(--surf);border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.job-link{color:var(--acc);text-decoration:none;font-weight:500}.job-link:hover{text-decoration:underline}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-pending{background-color:var(--warn-bg);color:var(--warn)}.status-in_progress{background-color:var(--info-bg);color:var(--info)}.status-completed{background-color:var(--ok-bg);color:var(--ok)}.status-invoiced{background-color:var(--info-bg);color:var(--info)}.badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-info{background-color:var(--acc);color:var(--acc-ink)}.badge-warning{background-color:var(--warn);color:var(--acc-ink)}.badge-gray{background-color:var(--soft);color:var(--mut)}.btn-link{color:var(--acc);text-decoration:none;font-size:14px}.btn-link:hover{text-decoration:underline}.job-billing-flag{margin-top:4px;font-size:12px;color:var(--warn)}.cal{background:var(--surf);border:1px solid var(--line);border-radius:12px;overflow:hidden}.cal-loading{min-height:420px}.cal-head{display:flex;align-items:center;gap:10px;padding:12px 14px 6px}.cal-head h2{font-size:18px;margin:0;min-width:150px}.cal-dows{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;padding:6px 0 4px}.cal-dows div{padding:0 8px}.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:22px;grid-auto-rows:minmax(44px,auto);min-height:78px;border-top:1px solid var(--line);position:relative}.cal-cell{border-left:1px solid var(--line);padding:3px 8px;font-size:11px;color:var(--mut);font-family:var(--f-tc)}.cal-cell:first-child{border-left:0}.cal-cell.out{background:var(--bg)}.cal-cell.today{color:var(--ink);font-weight:700}.cal-cell.today:after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--rec);margin-left:5px;vertical-align:1px}.cal-ev{align-self:start;margin:0 4px 5px;border-radius:6px;padding:4px 8px;font-size:12px;line-height:1.25;min-width:0;overflow:hidden;z-index:1;background:var(--soft);border-left:3px solid var(--s, var(--faint));color:var(--ink);text-decoration:none}.cal-ev:hover{filter:brightness(1.1)}.cal-ev b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-ev small{display:block;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-ev.done{background:var(--t)}.cal-ev.active{background:var(--surf);box-shadow:inset 0 0 0 1px var(--s)}.cal-ev.booked{background:transparent;border:1px dashed var(--faint);border-left-width:3px}.cal-ev.cancel{background:repeating-linear-gradient(135deg,var(--soft) 0 4px,transparent 4px 8px);color:var(--mut)}.cal-ev.cancel b{text-decoration:line-through}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:22px 0 48px}.fstrip{background:var(--strip);padding:0 16px;position:sticky;top:0;z-index:50}.fstrip:before,.fstrip:after{content:"";display:block;height:10px;background:radial-gradient(ellipse 3px 2.4px at 50% 50%,var(--hole) 98%,transparent) 0 0 / 14px 10px repeat-x}.fstrip-row{display:flex;align-items:stretch;gap:10px;padding:2px 0;max-width:1200px;margin:0 auto}.fstrip-brand{display:flex;align-items:center;padding:0 10px 0 2px;font-weight:700;letter-spacing:-.02em;color:var(--frame-ink);font-size:15px;text-decoration:none}.fstrip-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.fstrip-tabs.advance{animation:advance .28s steps(3)}@keyframes advance{0%{transform:translateY(-4px)}50%{transform:translateY(2px)}to{transform:none}}.fr{width:104px;height:42px;flex:none;border-radius:4px;background:var(--frame);color:var(--frame-ink);font-size:13px;font-weight:500;display:flex;align-items:flex-end;justify-content:space-between;padding:4px 8px;text-decoration:none;transition:background-color .3s,color .3s,box-shadow .3s}.fr small{font-family:var(--f-tc);font-size:9px;opacity:.55;align-self:flex-start}.fr:hover{filter:brightness(1.15)}.fr.on{background:var(--lit);color:var(--lit-ink);box-shadow:0 0 18px -2px var(--lit-glow);font-weight:650}.fr-dev{opacity:.7}.fstrip-billed{margin-left:auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;font-size:11px;color:var(--frame-ink)}.fstrip-billed b{font-size:16px;font-weight:600;color:var(--lit);text-shadow:var(--halo)}.fstrip-out{align-self:center;background:none;border:0;color:var(--frame-ink);font:inherit;font-size:12px;cursor:pointer;padding:6px 4px;opacity:.8}.fstrip-out:hover{opacity:1}@media (max-width: 720px){.fr{width:74px}.fstrip-billed{display:none}}.odo{display:inline-flex;font-variant-numeric:tabular-nums}.odo-d{height:1.2em;overflow:hidden;display:inline-block;line-height:1.2em}.odo-d>span{display:block;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}.odo-d i{display:block;font-style:normal}:root,:root[data-look=night]{color-scheme:dark;--bg: #07090b;--surf: #0f1519;--raise: #152027;--ink: #e6f2f5;--mut: #89a3ad;--faint: #4f6670;--line: #1c2a31;--soft: #152027;--acc: #ff4a3d;--acc-ink: #ffffff;--rec: #ff3b30;--glow: #ff3b30;--strip: #0a0a0a;--frame: #121c22;--frame-ink: #9fbcc6;--lit: #eaf8fb;--lit-ink: #08141a;--lit-glow: #5fe3cf66;--hole: #33464f;--cash: #8fc0a8;--cash-edge: #5f8f78;--halo: 0 0 12px #ff3b3099, 0 0 2px #ff3b3066;--rec-halo: 0 0 0 1px #ff3b3088, 0 0 22px 6px #ff3b3099;--t-a: #0f2f40;--t-b: #0b3433;--t-c: #3a3016;--t-d: #3b1724;--t-e: #271c42;--t-as: #6fd0ff;--t-bs: #5fe3cf;--t-cs: #ffd27a;--t-ds: #ff7f9e;--t-es: #c3a3ff;--ok: #5fe3a0;--warn: #ffc65c;--err: #ff6b62;--info: #6fd0ff}:root[data-look=tungsten]{color-scheme:dark;--bg: #101a1d;--surf: #17252a;--raise: #1c2d32;--ink: #efe5d6;--mut: #93a7a8;--faint: #5c7073;--line: #24363a;--soft: #1c2d32;--acc: #e9a35c;--acc-ink: #1b1006;--rec: #e3342f;--glow: #e9a35c;--frame: #1a2a2e;--frame-ink: #9fb7b8;--lit: #f5dcb8;--lit-ink: #1b1006;--lit-glow: #e9a35c99;--hole: #3d5156;--cash: #c3b07a;--cash-edge: #94824f;--halo: none;--rec-halo: 0 0 14px 2px #e3342f55;--t-a: #173943;--t-b: #1e3a33;--t-c: #45321b;--t-d: #432628;--t-e: #2a2d45;--t-as: #7fcad6;--t-bs: #93cfb2;--t-cs: #f0b878;--t-ds: #ec9e93;--t-es: #aab3ec;--ok: #93cfb2;--warn: #f0b878;--err: #ec9e93;--info: #7fcad6}:root[data-look=studio]{color-scheme:light;--bg: #f5f5f6;--surf: #ffffff;--raise: #ffffff;--ink: #101114;--mut: #6a6f78;--faint: #9ba0a8;--line: #e5e6ea;--soft: #eff0f2;--acc: #101114;--acc-ink: #ffffff;--rec: #e3342f;--glow: #f5c879;--frame: #24262b;--frame-ink: #c9ccd2;--lit: #fbfbfa;--lit-ink: #101114;--lit-glow: #ffffff55;--hole: #f5f5f6;--cash: #9cc79a;--cash-edge: #6f9e6d;--halo: none;--rec-halo: 0 0 14px 2px #e3342f55;--t-a: #e3ecfb;--t-b: #e2f0e6;--t-c: #f6ebd8;--t-d: #f8e3e7;--t-e: #ece6f9;--t-as: #2f5fa8;--t-bs: #2e7650;--t-cs: #9a6417;--t-ds: #a63e55;--t-es: #6550a8;--ok: #2e7650;--warn: #9a6417;--err: #c8261b;--info: #2f5fa8}:root[data-look=slide]{color-scheme:light;--bg: #fbfcfe;--surf: #ffffff;--raise: #ffffff;--ink: #070b14;--mut: #4d5a6e;--faint: #8b97aa;--line: #dde4ee;--soft: #eef3f9;--acc: #0a46c4;--acc-ink: #ffffff;--rec: #e3342f;--glow: #3d82ff;--frame: #14213f;--frame-ink: #b7c8ea;--lit: #ffffff;--lit-ink: #070b14;--lit-glow: #9cc2ff99;--hole: #fbfcfe;--cash: #9cc79a;--cash-edge: #6f9e6d;--halo: none;--rec-halo: 0 0 14px 2px #e3342f55;--t-a: #d8e6ff;--t-b: #d9efe2;--t-c: #fff0b8;--t-d: #ffdcd6;--t-e: #f1e3d8;--t-as: #0a46c4;--t-bs: #11734a;--t-cs: #a77700;--t-ds: #c8261b;--t-es: #8c5a3c;--ok: #11734a;--warn: #a77700;--err: #c8261b;--info: #0a46c4}:root[data-look=portrait]{color-scheme:light;--bg: #f4eee6;--surf: #fbf7f1;--raise: #fbf7f1;--ink: #3b302a;--mut: #85766b;--faint: #b5a698;--line: #e6dbcf;--soft: #efe5da;--acc: #b8743f;--acc-ink: #fffaf3;--rec: #e3342f;--glow: #f2c08d;--frame: #3a302a;--frame-ink: #e2d3c3;--lit: #fbefe1;--lit-ink: #3b302a;--lit-glow: #f2c08d88;--hole: #f4eee6;--cash: #b6c79a;--cash-edge: #8a9b70;--halo: none;--rec-halo: 0 0 14px 2px #e3342f55;--t-a: #dde6e6;--t-b: #e0e5cf;--t-c: #f6e2c4;--t-d: #f5d9cc;--t-e: #e8dcdc;--t-as: #56757a;--t-bs: #6b7a43;--t-cs: #a3672c;--t-ds: #b0603f;--t-es: #87646a;--ok: #6b7a43;--warn: #a3672c;--err: #b0603f;--info: #56757a}:root[data-look=vivid]{color-scheme:light;--bg: #f6f8f3;--surf: #ffffff;--raise: #ffffff;--ink: #030503;--mut: #4f5e52;--faint: #94a297;--line: #d9e4da;--soft: #ebf2ea;--acc: #00813a;--acc-ink: #ffffff;--rec: #e3342f;--glow: #d1197a;--frame: #0f2416;--frame-ink: #b4dcbe;--lit: #effff1;--lit-ink: #030503;--lit-glow: #38d27399;--hole: #f6f8f3;--cash: #9cc79a;--cash-edge: #6f9e6d;--halo: none;--rec-halo: 0 0 14px 2px #e3342f55;--t-a: #cfe0ff;--t-b: #bff0cc;--t-c: #ffe38f;--t-d: #ffc8e4;--t-e: #e6cbff;--t-as: #0040d0;--t-bs: #00813a;--t-cs: #b26a00;--t-ds: #c4006a;--t-es: #6b1fd1;--ok: #00813a;--warn: #b26a00;--err: #c4006a;--info: #0040d0}:root[data-look=double_x]{color-scheme:light;--bg: #e8e8e8;--surf: #f7f7f7;--raise: #f7f7f7;--ink: #050505;--mut: #555555;--faint: #9a9a9a;--line: #d0d0d0;--soft: #dfdfdf;--acc: #0a0a0a;--acc-ink: #f7f7f7;--rec: #e3342f;--glow: #ffffff;--frame: #262626;--frame-ink: #cfcfcf;--lit: #ffffff;--lit-ink: #050505;--lit-glow: #ffffffaa;--hole: #e8e8e8;--cash: #c9c9c9;--cash-edge: #7d7d7d;--halo: none;--rec-halo: 0 0 14px 2px #e3342f55;--t-a: #dadada;--t-b: #cdcdcd;--t-c: #e6e6e6;--t-d: #d4d4d4;--t-e: #c4c4c4;--t-as: #222;--t-bs: #222;--t-cs: #222;--t-ds: #222;--t-es: #222;--ok: #222;--warn: #555;--err: #e3342f;--info: #222}:root{--strip: #0a0a0a;--ok-bg: color-mix(in srgb, var(--ok) 14%, var(--surf));--warn-bg: color-mix(in srgb, var(--warn) 16%, var(--surf));--err-bg: color-mix(in srgb, var(--err) 14%, var(--surf));--info-bg: color-mix(in srgb, var(--info) 12%, var(--surf));--f-ui: Geist, system-ui, -apple-system, "Segoe UI", sans-serif;--f-tc: "IBM Plex Mono", ui-monospace, Menlo, monospace}.tint-A{--t: var(--t-a);--s: var(--t-as)}.tint-B{--t: var(--t-b);--s: var(--t-bs)}.tint-C{--t: var(--t-c);--s: var(--t-cs)}.tint-D{--t: var(--t-d);--s: var(--t-ds)}.tint-E{--t: var(--t-e);--s: var(--t-es)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--f-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--ink);transition:background-color .4s ease,color .4s ease}a{color:var(--acc)}code{font-family:var(--f-tc)}h1,h2,h3,h4{letter-spacing:-.015em;font-weight:650;color:var(--ink)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--rec);outline-offset:2px}.container{max-width:1200px;margin:0 auto;padding:20px}.btn{padding:7px 14px;border:none;border-radius:8px;cursor:pointer;font:inherit;font-size:13px;font-weight:600;white-space:nowrap;background:var(--soft);color:var(--ink);transition:filter .15s,opacity .15s,background-color .3s}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:disabled{opacity:.35;cursor:default}.btn-primary{background-color:var(--acc);color:var(--acc-ink)}.btn-secondary,.btn-ghost{background-color:var(--soft);color:var(--ink)}.btn-danger{background-color:color-mix(in srgb,var(--err) 18%,var(--surf));color:var(--err)}.btn-sm,.btn-small{padding:4px 10px;font-size:12px}.btn-link,.link-button{background:none;border:0;color:var(--acc);cursor:pointer;font:inherit;padding:0}.btn-icon{padding:4px 8px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:var(--mut);font-size:13px}.form-group input,.form-group select,.form-group textarea,.form-control,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],select,textarea{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--bg);color:var(--ink)}.form-group input,.form-group select,.form-group textarea{width:100%}.form-group input[type=checkbox]{width:auto;margin-right:5px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--acc)}.form-hint,.muted,.card-description{color:var(--mut);font-size:13px}.card{background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:18px}.card-header{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.card-header h2{margin:0;font-size:18px}.table{width:100%;border-collapse:collapse;background:var(--surf);border-radius:12px;overflow:hidden}.table th,.table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}.table th{background-color:var(--soft);font-weight:600;color:var(--mut);font-size:12px}.table tr:hover{background-color:var(--soft)}.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px;border:1px solid transparent}.alert-success{background-color:var(--ok-bg);color:var(--ok)}.alert-error{background-color:var(--err-bg);color:var(--err)}.alert-info{background-color:var(--info-bg);color:var(--ink)}.alert-warning{background-color:var(--warn-bg);color:var(--ink)}.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;background:var(--soft);color:var(--mut)}.badge-gray{background:var(--soft);color:var(--mut)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-warning{background:var(--warn-bg);color:var(--warn)}.loading{text-align:center;padding:40px;color:var(--mut)}.error{color:var(--err)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}
