:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.login-wrap{place-items:center;min-height:100svh;padding:24px;display:grid}.login-card{border:1px solid var(--border);background:var(--bg);text-align:left;border-radius:12px;flex-direction:column;gap:14px;width:min(420px,100%);padding:24px;display:flex}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:8px;display:grid}.kpi-card{border:1px solid var(--border);background:var(--bg);text-align:left;border-radius:12px;flex-direction:column;gap:8px;padding:20px;display:flex}.kpi-card--emphasis{border-color:var(--accent-border);background:var(--accent-bg)}.kpi-label{color:var(--text);font-size:14px}.kpi-value{font-size:36px;font-weight:600;line-height:1}.kpi-secondary{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.kpi-chip{color:var(--text);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:14px}.kpi-chip strong{color:var(--text-h);margin-left:4px}.quote-form{text-align:left;flex-direction:column;gap:18px;max-width:520px;margin-top:8px;display:flex}.quote-form input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:10px 12px;font-size:16px}.quote-form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent-border)}.field-error{color:#c0392b;font-size:13px}.line-picker{align-items:center;gap:8px;display:flex}.line-picker select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;flex:auto;padding:10px 12px;font-size:16px}.line-picker input[type=number]{width:80px;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:10px 12px;font-size:16px}.line-table{margin-top:4px}.price-list-section{margin-top:28px}.btn-sm{min-height:auto;padding:4px 10px;font-size:13px}.btn-danger{color:#c0392b;border-color:#c0392b66}.kanban{grid-template-columns:repeat(5,minmax(140px,1fr));align-items:start;gap:12px;margin-top:8px;display:grid}.kanban-col{background:var(--social-bg);border:1px solid var(--border);border-radius:12px;min-height:120px;padding:12px}.kanban-col-head{color:var(--text-h);align-items:center;gap:6px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.kanban-count{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:0 8px;font-size:12px}.kanban-cards{flex-direction:column;gap:8px;display:flex}.kanban-card{background:var(--bg);border:1px solid var(--border);color:var(--text-h);border-radius:10px;padding:12px;text-decoration:none;transition:box-shadow .2s;display:block}.kanban-card:hover{box-shadow:var(--shadow)}.kanban-card-title{margin-bottom:8px;font-size:15px;font-weight:500}.kanban-progress{background:var(--border);border-radius:999px;height:6px;margin-bottom:4px;overflow:hidden}.kanban-progress-bar{background:var(--accent);height:100%}@media (width<=1024px){.kanban{grid-template-columns:1fr}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.card{border:1px solid var(--border);background:var(--bg);border-radius:10px;margin-bottom:20px;padding:16px}.bookkeeping-form .form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.bookkeeping-form .form-field{min-width:120px}.bookkeeping-form .form-field.grow{flex:220px}.row-flagged{background:#f59e0b0f}.flag-list{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.badge{white-space:nowrap;border-radius:999px;padding:1px 6px;font-size:11px;line-height:1.4;display:inline-block}.badge-warn{color:#9a6700;cursor:help;background:#f59e0b26}.badge-ok{color:#047857;background:#10b98126}.review-cell{max-width:320px}.review-reason{color:#9a6700;font-size:12px}.review-cell .muted{font-size:12px}.tax-tip{color:#047857;margin-top:2px;font-size:12px}.result-banner{border-radius:10px;margin-bottom:16px;padding:14px 18px;font-size:18px;font-weight:700}.result-banner.banner-ok{color:#047857;background:#10b9811f}.result-banner.banner-warn{color:#9a6700;background:#f59e0b24}.provisional{color:#9a6700;font-size:11px;font-style:normal}.btn{font:inherit;border:1px solid var(--border);background:var(--bg);min-height:44px;color:var(--text-h);cursor:pointer;border-radius:8px;padding:9px 16px;font-size:15px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s}.btn:hover{border-color:var(--accent-border)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary:hover{opacity:.92;border-color:var(--accent)}.btn-secondary{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.btn-ghost{color:var(--text);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--social-bg);border-color:var(--border)}.receipt-upload{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.receipt-upload-hint{flex:240px;font-size:13px}.receipt-notice{color:var(--accent);flex-basis:100%;margin:4px 0 0;font-size:14px}.preview-panel{border-left:4px solid var(--border)}.preview-panel.preview-ok{background:#10b9810f;border-left-color:#10b981}.preview-panel.preview-warn{background:#f59e0b12;border-left-color:#f59e0b}.preview-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-weight:700;display:flex}.preview-body{gap:6px;margin:0 0 14px;display:grid}.preview-body>div{gap:10px;display:flex}.preview-body dt{min-width:72px;color:var(--text);font-size:14px}.preview-body dd{color:var(--text-h);margin:0;font-weight:500}.preview-actions{gap:8px;display:flex}.low-confidence{color:#9a6700;font-weight:600}.confidence-flag{color:#9a6700;font-size:12px;font-weight:600}.batch-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.batch-summary{color:var(--text);background:var(--social-bg);border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:8px 12px;font-size:14px}.batch-actions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.batch-warning{color:#9a6700;background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:8px;margin-bottom:10px;padding:10px 14px;font-size:14px}.batch-table{margin-top:4px}@media (width<=640px){.quote-table{white-space:nowrap;display:block;overflow-x:auto}.bookkeeping-form .form-row,.batch-head,.batch-actions,.preview-actions{flex-direction:column;align-items:stretch}.batch-actions .btn,.preview-actions .btn{width:100%}}:root{--ps-primary:#3182f6;--ps-primary-strong:#2272eb;--ps-primary-bg:#e8f3ff;--ps-surface:#fff;--ps-bg:#f2f4f6;--ps-line:#e5e8eb;--ps-text-strong:#191f28;--ps-text:#4e5968;--ps-text-weak:#8b95a1;--ps-radius:18px;--ps-radius-sm:12px;--ps-shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--ps-shadow-hover:0 6px 20px #00000014}#root{text-align:left;background:var(--ps-bg);border-inline:none;width:100%;max-width:none;margin:0}.app-shell{background:var(--ps-bg);min-height:100svh;color:var(--ps-text);display:flex}.sidebar{background:var(--ps-surface);border-right:1px solid var(--ps-line);box-sizing:border-box;flex-direction:column;flex-shrink:0;gap:8px;width:232px;height:100svh;padding:22px 14px;display:flex;position:sticky;top:0}.sidebar .brand{color:var(--ps-primary);letter-spacing:-.5px;padding:6px 10px 14px;font-size:22px;font-weight:800}.sidebar nav{overscroll-behavior:contain;flex-direction:column;flex:1;gap:4px;min-height:0;display:flex;overflow-y:auto}.nav-item{border-radius:var(--ps-radius-sm);color:var(--ps-text);align-items:center;gap:10px;padding:11px 12px;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--ps-bg);color:var(--ps-text-strong)}.nav-item.active{background:var(--ps-primary-bg);color:var(--ps-primary-strong)}.content{flex:1;min-width:0;padding:32px 36px 56px}.content .page,.content>div{max-width:920px;margin:0 auto}.app-shell h1,.ps-public h1,.ps-login h1{letter-spacing:-.6px;color:var(--ps-text-strong);margin:0 0 4px;font-size:26px;font-weight:800}.page-head .muted,.muted{color:var(--ps-text-weak)}.btn{border:1px solid var(--ps-line);background:var(--ps-surface);color:var(--ps-text-strong);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:11px 16px;font-size:15px;font-weight:700;line-height:1;transition:background .15s,border-color .15s,transform 50ms,box-shadow .15s;display:inline-flex}.btn:hover{background:var(--ps-bg)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--ps-primary);border-color:var(--ps-primary);color:#fff}.btn-primary:hover{background:var(--ps-primary-strong);border-color:var(--ps-primary-strong)}.btn-block{width:100%}.icon-btn{border:1px solid var(--ps-line);background:var(--ps-surface);width:40px;height:40px;color:var(--ps-text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--ps-bg);color:var(--ps-text-strong)}.pill{background:var(--ps-bg);color:var(--ps-text);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.pill-blue{background:var(--ps-primary-bg);color:var(--ps-primary-strong)}.pill-gray{color:var(--ps-text-weak);background:#f2f4f6}.ps-card{background:var(--ps-surface);border:1px solid var(--ps-line);border-radius:var(--ps-radius);box-shadow:var(--ps-shadow);padding:20px}.ps-action-grid{background:var(--ps-line);border:1px solid var(--ps-line);border-radius:var(--ps-radius);box-shadow:var(--ps-shadow);grid-template-columns:repeat(2,1fr);gap:1px;margin:8px 0 28px;display:grid;overflow:hidden}.ps-action{background:var(--ps-surface);align-items:center;gap:14px;padding:18px 20px;text-decoration:none;transition:background .15s,transform 50ms;display:flex}.ps-action:hover{background:var(--ps-bg)}.ps-action:active{transform:translateY(1px)}.ps-action .ps-action-ic{background:var(--ps-primary-bg);width:46px;height:46px;color:var(--ps-primary-strong);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ps-action .ps-action-tt{color:var(--ps-text-strong);font-size:16px;font-weight:800;display:block}.ps-action .ps-action-sub{color:var(--ps-text-weak);margin-top:2px;font-size:13px;display:block}.ps-action .ps-action-go{color:var(--ps-text-weak);margin-left:auto}.ps-action-mail{position:relative}.ps-action-count{color:#fff;pointer-events:none;background:#b45309;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:10px;right:38px}.ps-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.ps-sched{background:var(--ps-surface);border:1px solid var(--ps-line);border-radius:var(--ps-radius);box-shadow:var(--ps-shadow);padding:18px 20px}.ps-sched .ps-sched-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ps-sched .ps-sched-title{color:var(--ps-text-strong);font-size:17px;font-weight:800}.ps-sched .ps-meta{color:var(--ps-text);align-items:center;gap:7px;margin-top:7px;font-size:14px;display:flex}.ps-sched .ps-meta svg{color:var(--ps-text-weak)}.ps-sched .ps-actions{flex-wrap:wrap;gap:8px;display:flex}.state-block{text-align:center;background:var(--ps-surface);border:1px solid var(--ps-line);border-radius:var(--ps-radius);color:var(--ps-text);padding:48px 24px}.state-block h3{color:var(--ps-text-strong);margin:0 0 6px}.login-wrap{background:linear-gradient(180deg, #eef4ff 0%, var(--ps-bg) 60%);justify-content:center;align-items:center;min-height:100svh;padding:20px;display:flex}.login-card{background:var(--ps-surface);border:1px solid var(--ps-line);border-radius:22px;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:36px 28px;display:flex;box-shadow:0 12px 40px #00000014}.login-card .login-brand{color:var(--ps-primary);letter-spacing:-1px;font-size:30px;font-weight:800}.login-card .login-sub{color:var(--ps-text-weak);margin-bottom:6px;font-size:15px}.login-card .dev-hint{background:var(--ps-bg);color:var(--ps-text-weak);border-radius:12px;margin-top:4px;padding:10px 12px;font-size:12.5px;line-height:1.6}.login-card .dev-hint code{border:1px solid var(--ps-line);background:#fff}.form-field{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--ps-text);font-size:13.5px;font-weight:700}.form-field input,.form-field textarea,.login-card input{border:1px solid var(--ps-line);background:var(--ps-surface);color:var(--ps-text-strong);box-sizing:border-box;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:15px}.form-field input:focus,.form-field textarea:focus,.login-card input:focus{border-color:var(--ps-primary);box-shadow:0 0 0 3px var(--ps-primary-bg);outline:none}.field-error{color:#e03131;background:#fff5f5;border:1px solid #ffc9c9;border-radius:10px;align-items:center;gap:6px;padding:9px 12px;font-size:14px;display:flex}.ps-toast{background:var(--ps-primary-bg);color:var(--ps-primary-strong);border:1px solid #cfe3ff;border-radius:12px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:14px;display:flex}.ps-public{background:var(--ps-bg);text-align:left;max-width:480px;min-height:100svh;margin:0 auto;padding:16px}.ps-public-head{padding:10px 4px 16px}.ps-public-head .eyebrow{color:var(--ps-primary-strong);font-size:13px;font-weight:700}.ps-public-card{background:var(--ps-surface);border:1px solid var(--ps-line);border-radius:var(--ps-radius);box-shadow:var(--ps-shadow);margin-bottom:12px;padding:18px}.ps-public-card .row{color:var(--ps-text);align-items:center;gap:8px;margin-top:8px;font-size:14.5px;display:flex}.ps-public-card .row svg{color:var(--ps-text-weak)}.ps-prep{color:#8a5a00;background:#fff8ec;border:1px solid #ffe3b0;border-radius:12px;margin-top:10px;padding:10px 12px;font-size:14px}.ps-centered{text-align:center;max-width:440px;margin:56px auto}.ps-centered .ps-card{padding:32px 24px}@media (width<=860px){.app-shell{flex-direction:column}.sidebar{flex-direction:row;align-items:center;width:100%;height:auto;padding:10px;position:static;overflow-x:auto}.sidebar .brand{padding:6px 10px}.sidebar nav{flex-direction:row}.content{padding:20px 16px 40px}.ps-action-grid{grid-template-columns:1fr}}.trade-badge{white-space:nowrap;border-radius:999px;align-items:center;font-weight:700;line-height:1.5;display:inline-flex}.trade-chips{flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.ps-filter{flex-wrap:wrap;gap:7px;margin:4px 0 16px;display:flex}.ps-filter-chip{border:1px solid var(--ps-line);background:var(--ps-surface);color:var(--ps-text);cursor:pointer;border-radius:999px;padding:7px 13px;font-size:13.5px;font-weight:700}.ps-filter-chip:hover{background:var(--ps-bg)}.ps-filter-chip.active{background:var(--ps-primary);border-color:var(--ps-primary);color:#fff}.ps-cal{background:var(--ps-surface);border:1px solid var(--ps-line);border-radius:var(--ps-radius);box-shadow:var(--ps-shadow);margin-bottom:18px;padding:16px}.ps-cal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ps-cal-title{color:var(--ps-text-strong);font-size:16px;font-weight:800}.ps-cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.ps-cal-dow{text-align:center;color:var(--ps-text-weak);padding-bottom:4px;font-size:12px;font-weight:700}.ps-cal-cell{border:1px solid var(--ps-line);background:#fff;border-radius:10px;min-height:78px;padding:5px 6px;overflow:hidden}.ps-cal-cell.empty{background:0 0;border:none}.ps-cal-cell.today{border-color:var(--ps-primary);box-shadow:0 0 0 2px var(--ps-primary-bg)}.ps-cal-daynum{color:var(--ps-text-weak);font-size:12px;font-weight:700}.ps-cal-ev{text-align:left;background:var(--ps-bg);width:100%;color:var(--ps-text-strong);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:none;border-radius:6px;margin-top:4px;padding:3px 5px;font-size:11.5px;font-weight:600;display:block;overflow:hidden}.ps-cal-ev .dot{vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}@media (width<=860px){.ps-cal-cell{min-height:56px}.ps-cal-ev{padding:4px;font-size:0}.ps-cal-ev .dot{margin:0}}.nav-logout{border:1px solid var(--ps-line);background:var(--ps-surface);width:100%;font:inherit;cursor:pointer;color:var(--ps-text);margin-top:auto}.nav-logout:hover{color:#e03131;background:#fff0f0;border-color:#ffc9c9}@media (width<=860px){.nav-logout{width:auto;margin-top:0}}button.brand,button.login-brand{font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;display:inline-block}button.brand{color:var(--ps-primary);letter-spacing:-.5px;padding:6px 10px 14px;font-size:22px;font-weight:800}button.login-brand{color:var(--ps-primary);letter-spacing:-1px;font-size:30px;font-weight:800}.ps-toggle{background:var(--ps-bg);border-radius:12px;gap:3px;padding:3px;display:inline-flex}.ps-toggle button{font:inherit;color:var(--ps-text-weak);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:5px;padding:7px 14px;font-size:14px;font-weight:700;display:inline-flex}.ps-toggle button.on{background:var(--ps-surface);color:var(--ps-primary-strong);box-shadow:var(--ps-shadow)}button.ps-cal-cell{font:inherit;text-align:left;cursor:pointer;width:100%;display:block}button.ps-cal-cell:hover{background:var(--ps-bg)}.ps-cal-cell.sel{border-color:var(--ps-primary);background:var(--ps-primary-bg)}.ps-cal-add{color:var(--ps-primary);opacity:0;margin-top:6px;font-size:11px;font-weight:700;transition:opacity .12s;display:block}button.ps-cal-cell:hover .ps-cal-add,.ps-cal-cell.sel .ps-cal-add{opacity:1}@media (width<=860px){.ps-cal-add{opacity:.7;margin-top:3px;font-size:10px}}.ps-day-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.ps-hero{background:linear-gradient(135deg, #eef4ff 0%, var(--ps-surface) 70%);border:1px solid var(--ps-line);border-radius:var(--ps-radius);box-shadow:var(--ps-shadow);align-items:center;gap:20px;margin-bottom:16px;padding:22px;display:flex}.ps-hero-info{flex:1;min-width:0}.ps-hero-actions{flex-wrap:wrap;gap:8px;display:flex}.ps-hero-cal{border:1px solid var(--ps-line);background:var(--ps-surface);box-shadow:var(--ps-shadow);border-radius:14px;flex-shrink:0;padding:12px;text-decoration:none}.ps-hero-cal:hover{box-shadow:var(--ps-shadow-hover)}.ps-mini-cal{width:230px}.ps-mini-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.ps-mini-dow{text-align:center;color:var(--ps-text-weak);padding-bottom:2px;font-size:10px;font-weight:700}.ps-mini-cell{height:26px;color:var(--ps-text);border-radius:6px;justify-content:center;align-items:center;font-size:11px;display:flex;position:relative}.ps-mini-cell.today{background:var(--ps-primary);color:#fff;font-weight:800}.ps-mini-dots{gap:2px;display:flex;position:absolute;bottom:2px}.ps-mini-dot{border-radius:50%;width:4px;height:4px}@media (width<=860px){.ps-hero{flex-direction:column;align-items:stretch}.ps-hero-cal{align-self:center}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.app-shell h2,.app-shell h3,.ps-public h2,.ps-public h3{color:var(--ps-text-strong);letter-spacing:-.3px;font-weight:800}.form-section-title{margin:0 0 10px;font-size:17px}.detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.back-link{color:var(--ps-text-weak);align-items:center;gap:4px;margin-bottom:12px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--ps-primary-strong)}.quote-table{border-collapse:separate;border-spacing:0;background:var(--ps-surface);border:1px solid var(--ps-line);border-radius:var(--ps-radius-sm);width:100%;box-shadow:var(--ps-shadow);font-size:14.5px;overflow:hidden}.quote-table th{text-align:left;color:var(--ps-text-weak);background:var(--ps-bg);border-bottom:1px solid var(--ps-line);white-space:nowrap;padding:10px 14px;font-size:12.5px;font-weight:700}.quote-table td{border-bottom:1px solid var(--ps-line);color:var(--ps-text);vertical-align:middle;padding:12px 14px}.quote-table tbody tr:last-child td{border-bottom:none}.quote-table tbody tr:hover td{background:#fafbfc}.quote-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.detail-grid{background:var(--ps-surface);border:1px solid var(--ps-line);border-radius:var(--ps-radius);box-shadow:var(--ps-shadow);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:0 0 20px;padding:18px 20px;display:grid}.detail-grid dt{color:var(--ps-text-weak);margin-bottom:3px;font-size:12.5px;font-weight:700}.detail-grid dd{color:var(--ps-text-strong);overflow-wrap:anywhere;margin:0;font-size:15.5px;font-weight:600}.action-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 11px;font-size:12.5px;font-weight:700;line-height:1.5;display:inline-flex}.error-text{color:#e03131;background:#fff5f5;border:1px solid #ffc9c9;border-radius:10px;align-items:center;gap:6px;margin:10px 0 0;padding:9px 12px;font-size:14px;display:flex}.success-text{color:#1c8a45;font-size:14px;font-weight:700}.tag-expired{color:#e03131;font-size:12px;font-weight:700}.expired-date{color:#e03131}.quote-link{color:var(--ps-primary-strong);font-weight:700;text-decoration:none}.quote-link:hover{text-decoration:underline}.spinner{border:3px solid var(--ps-line);border-top-color:var(--ps-primary);border-radius:50%;width:28px;height:28px;margin:0 auto 10px;animation:.8s linear infinite ps-spin}@keyframes ps-spin{to{transform:rotate(360deg)}}.skeleton-list{gap:10px;display:grid}.skeleton-row{border-radius:var(--ps-radius-sm);background:linear-gradient(90deg,#eef0f3 25%,#f7f8fa 45%,#eef0f3 65%) 0 0/400% 100%;height:52px;animation:1.3s infinite ps-shimmer}@keyframes ps-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.form-field select,.line-picker select,.quote-table select{border:1px solid var(--ps-line);background:var(--ps-surface);color:var(--ps-text-strong);cursor:pointer;border-radius:12px;padding:11px 14px;font-family:inherit;font-size:15px}.quote-table select{border-radius:9px;padding:7px 10px;font-size:13.5px}.form-field select:focus,.line-picker select:focus,.quote-table select:focus{border-color:var(--ps-primary);box-shadow:0 0 0 3px var(--ps-primary-bg);outline:none}.history-section{margin-top:28px}.app-shell .card{border-color:var(--ps-line);border-radius:var(--ps-radius);background:var(--ps-surface);box-shadow:var(--ps-shadow);padding:20px}@media (width<=640px){.quote-table{border-radius:var(--ps-radius-sm)}}:root{--sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, "Noto Sans KR", sans-serif;--ps-radius:14px;--ps-radius-sm:10px;--ps-shadow:0 1px 2px #191f280a;--ps-shadow-hover:0 4px 14px #191f2814;--ps-bg:#f4f5f7}.app-shell,.ps-public,.login-wrap{font-family:var(--sans);letter-spacing:-.1px;font-size:15px;line-height:1.55}.app-shell h1{letter-spacing:-.4px;margin:0 0 3px;font-size:21px}.page-head{margin-bottom:18px}.page-head .muted{font-size:13.5px}.sidebar{gap:6px;width:216px;padding:18px 12px}.sidebar .brand,button.brand{letter-spacing:-.4px;border-bottom:1px solid var(--ps-line);margin-bottom:8px;padding:4px 10px 12px;font-size:18px}.nav-item{border-radius:9px;padding:9px 10px;font-size:14px;font-weight:600}.nav-item svg{opacity:.75;width:17px;height:17px}.nav-item.active svg{opacity:1}.ps-hero{background:var(--ps-surface);gap:18px;padding:20px}.ps-hero h2{font-size:17px}.ps-hero .muted{font-size:13.5px}.btn{border-radius:10px;padding:9px 14px;font-size:14px;font-weight:600}.btn-lg{border-radius:12px;padding:12px 18px;font-size:15px}.btn-sm{border-radius:8px;padding:6px 10px;font-size:13px}.ps-card,.ps-sched{padding:16px 18px}.ps-action{padding:14px 16px}.ps-action .ps-action-ic{border-radius:11px;width:40px;height:40px}.ps-action .ps-action-tt{font-size:15px;font-weight:700}.ps-action .ps-action-sub{font-size:12.5px}.ps-list{gap:10px}.ps-sched .ps-sched-title{font-size:15.5px;font-weight:700}.ps-sched .ps-meta{margin-top:5px;font-size:13.5px}.form-field input,.form-field textarea,.form-field select,.line-picker select,.login-card input{border-radius:10px;padding:10px 12px;font-size:14.5px}.form-label{font-size:13px}.login-wrap{background:var(--ps-bg)}.login-card{border-radius:16px;box-shadow:0 8px 28px #191f2812}.login-card .login-brand,button.login-brand{letter-spacing:-.6px;font-size:24px}.quote-table{font-size:14px}.quote-table th{padding:9px 12px;font-size:12px}.quote-table td{padding:10px 12px}.ps-cal-title{font-size:15px}.ps-cal-cell{border-radius:8px}.ps-cal-ev{font-size:11px}@media (width<=860px){.sidebar{width:100%}.sidebar .brand,button.brand{border-bottom:none;margin-bottom:0}}.nav-label-short{display:none}@media (width<=1024px){.app-shell{flex-direction:row}.sidebar{flex-direction:column;align-items:center;width:92px;height:100svh;padding:18px 6px;position:sticky;overflow:visible auto}.sidebar .brand{display:none}.sidebar nav{flex-direction:column;width:100%}.nav-item{flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;padding:8px 4px}.nav-label{white-space:nowrap;font-size:11px;line-height:1.2;display:block}.has-short-label .nav-label{display:none}.has-short-label .nav-label-short{white-space:nowrap;font-size:11px;line-height:1.2;display:block}.nav-logout{width:100%;margin-top:auto}.content{padding:28px 32px 56px}}@media (width<=640px){.app-shell{flex-direction:column}.sidebar{flex-direction:row;align-items:center;width:100%;height:auto;padding:10px;position:static;overflow-x:auto}.sidebar .brand{white-space:nowrap;flex-shrink:0;padding:6px 10px;display:flex}.sidebar nav{flex-direction:row;width:auto}.nav-item{white-space:nowrap;flex-shrink:0;justify-content:flex-start;gap:10px;width:auto}.nav-logout{white-space:nowrap;flex-shrink:0}.nav-label,.has-short-label .nav-label{display:inline}.has-short-label .nav-label-short{display:none}}.list-search{border:1px solid var(--ps-line);background:var(--ps-surface);width:100%;max-width:320px;color:var(--ps-text-strong);box-sizing:border-box;border-radius:12px;margin-bottom:14px;padding:10px 14px;font-family:inherit;font-size:14px}.list-search:focus{border-color:var(--ps-primary);box-shadow:0 0 0 3px var(--ps-primary-bg);outline:none}.material-picker{border:1px solid var(--ps-line);border-radius:var(--ps-radius-sm);background:var(--ps-bg);margin-top:8px;padding:14px}.material-picker-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.material-tabs{flex-wrap:wrap;gap:6px;display:flex}.material-tab{border:1px solid var(--ps-line);background:var(--ps-surface);color:var(--ps-text);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600}.material-tab.active{background:var(--ps-primary);border-color:var(--ps-primary);color:#fff}.material-picker .list-search{max-width:220px;margin-bottom:0}.material-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.material-grid-empty{grid-column:1/-1}.material-card{border:1px solid var(--ps-line);border-radius:var(--ps-radius-sm);background:var(--ps-surface);flex-direction:column;display:flex;overflow:hidden}.material-card-body{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;gap:4px;padding:8px;font-family:inherit;display:flex}.material-card-body img{aspect-ratio:1;object-fit:cover;background:var(--ps-bg);border-radius:8px;width:100%}.material-card-name{color:var(--ps-text-strong);font-size:13px;font-weight:700}.material-card-manufacturer{color:var(--ps-text-weak);font-size:12px}.material-card-action{margin:0 8px 8px}.material-card-add{border:1px dashed var(--ps-line);border-radius:var(--ps-radius-sm);background:var(--ps-surface);min-height:140px;color:var(--ps-text-weak);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.material-card-add-icon{color:var(--ps-primary);font-size:22px;line-height:1}.material-register-form{border-top:1px solid var(--ps-line);margin-top:14px;padding-top:14px}.material-register-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.material-file-btn{margin-top:10px;display:inline-block}.material-rights-check{color:var(--ps-text);align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.material-pending-form{border:1px solid var(--ps-primary);background:var(--ps-primary-bg);border-radius:var(--ps-radius-sm);margin-bottom:14px;padding:12px 14px}.material-pending-form p{margin:0 0 8px;font-size:14px}.page-head-greeting{color:var(--ps-text);vertical-align:baseline;margin-left:10px;font-size:.62em;font-weight:600}.mobile-topbar,.nav-backdrop{display:none}@media (width<=640px){.mobile-topbar{background:var(--ps-surface);border-bottom:1px solid var(--ps-line);z-index:30;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex;position:sticky;top:0}.mobile-topbar-brand{color:var(--ps-text-strong);cursor:pointer;background:0 0;border:0;padding:4px 2px;font-family:inherit;font-size:16px;font-weight:700}.mobile-nav-toggle{border:1px solid var(--ps-line);width:40px;height:40px;color:var(--ps-text-strong);cursor:pointer;background:0 0;border-radius:10px;flex-shrink:0;font-size:20px;line-height:1}.mobile-nav-toggle:focus-visible{outline:2px solid var(--ps-primary);outline-offset:2px}.nav-backdrop{z-index:40;background:#00000073;display:block;position:fixed;inset:0}.nav-backdrop[hidden]{display:none}.sidebar{background:var(--ps-surface);border-right:1px solid var(--ps-line);z-index:50;flex-direction:column;align-items:stretch;width:min(78vw,280px);height:100%;padding:18px 14px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto;transform:translate(-100%)}.app-shell.nav-open .sidebar{transform:translate(0)}.app-shell:not(.nav-open) .sidebar{visibility:hidden}.app-shell.nav-open .sidebar{visibility:visible}.sidebar .brand{display:none}.sidebar nav{flex-direction:column;gap:2px;width:100%}.nav-item{white-space:nowrap;justify-content:flex-start;gap:12px;width:100%;padding:12px}.nav-logout{width:100%;margin-top:auto}}.chat-draft{border:1px solid var(--ps-line);border-radius:var(--ps-radius-sm);background:var(--ps-surface);margin:14px 0 18px;padding:14px 16px}.chat-draft-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.chat-draft-head strong{color:var(--ps-text-strong);font-size:15px}.chat-draft-head .btn{flex-shrink:0}.chat-draft-notice,.chat-draft-warn{border-radius:10px;align-items:flex-start;gap:6px;margin:12px 0 0;padding:9px 12px;font-size:13px;line-height:1.5;display:flex}.chat-draft-notice{background:var(--ps-primary-bg);color:var(--ps-text-strong)}.chat-draft-warn{color:#8a5300;background:#fff4e5}.draft-badge{background:var(--ps-primary-bg);color:var(--ps-primary-strong);vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}@media (width<=640px){.chat-draft-head{flex-direction:column;align-items:stretch}}.nav-section{gap:2px;display:grid}.nav-section+.nav-section{border-top:1px solid var(--ps-line);margin-top:12px;padding-top:12px}.nav-section-heading{margin:0}.nav-section-label{color:var(--ps-text-weak);letter-spacing:.02em;margin:0 0 3px;padding:0 10px;font-size:11px;font-weight:700;display:block}.project-tabs{border-bottom:1px solid var(--ps-line);gap:4px;margin:20px 0 24px;display:flex;overflow-x:auto}.project-tabs button{color:var(--ps-text-weak);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:10px 14px;font-size:14px;font-weight:700}.project-tabs button:hover{color:var(--ps-text-strong)}.project-tabs button.active{border-bottom-color:var(--ps-primary);color:var(--ps-primary-strong)}.project-tabs button:focus-visible{outline:2px solid var(--ps-primary);outline-offset:-2px}.project-tab-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.project-quote-card .detail-grid{margin-top:18px}@media (width<=1024px){.nav-section{width:100%}.nav-section+.nav-section{margin-top:10px;padding-top:10px}.nav-section-label{text-align:center;padding:0;font-size:10px;line-height:1.2}}@media (width<=640px){.nav-section+.nav-section{margin-top:12px;padding-top:12px}.nav-section-label{text-align:left;padding:0 12px;font-size:11px}}.project-profit-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.project-profit-summary>div{border:1px solid var(--ps-line);border-radius:var(--ps-radius-sm);background:var(--ps-surface);gap:4px;padding:16px;display:grid}.project-profit-summary span,.project-profit-summary small,.project-profit-expenses span{color:var(--ps-text-weak);font-size:13px}.project-profit-summary strong{color:var(--ps-text-strong);font-size:18px}.project-profit-empty{padding:24px}.project-profit-expenses{margin-top:12px}.project-profit-expenses li{justify-content:space-between;align-items:center;gap:16px;display:flex}.project-profit-expenses li>div{gap:4px;min-width:0;display:grid}.project-profit-expenses li>strong{flex-shrink:0}@media (width<=640px){.project-profit-summary{grid-template-columns:1fr}}.note-form{margin-bottom:24px}.notes-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.note-card{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.note-card-copy{min-width:0}.note-card-copy h2{color:var(--ps-text-strong);margin:0;font-size:16px}.note-card-copy p{white-space:pre-wrap;margin:8px 0}.note-card-copy span{font-size:12px}.note-card-actions{flex-shrink:0;gap:6px;display:flex}@media (width<=640px){.note-card{flex-direction:column}}.dashboard-notifications{margin:0 0 28px}.notification-card-head,.notification-page-head,.notification-page-actions,.notification-card-actions{align-items:center;gap:10px;display:flex}.notification-card-head,.notification-page-head{justify-content:space-between}.notification-card-head>strong{color:var(--ps-text-strong);font-size:16px}.notification-card-actions,.notification-page-actions{flex-shrink:0}.notification-all-link{align-items:center;gap:2px;text-decoration:none;display:inline-flex}.notification-unread-count,.notification-item-count{position:static}.notification-empty{color:var(--ps-text-weak);margin:18px 0 0;font-size:14px}.notification-list{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.notification-list-compact{gap:6px}.notification-item{border:1px solid var(--ps-line);border-radius:var(--ps-radius-sm);background:var(--ps-surface);width:100%;color:var(--ps-text-strong);font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.notification-item:hover{border-color:var(--ps-primary)}.notification-item:focus-visible{outline:2px solid var(--ps-primary);outline-offset:2px}.notification-item.is-unread{border-color:var(--ps-primary);background:var(--ps-primary-bg)}.notification-item-copy{gap:3px;min-width:0;display:grid}.notification-item-title{color:var(--ps-text-strong);font-size:14px;font-weight:700}.notification-item-body,.notification-item-time{color:var(--ps-text-weak);font-size:12px}.notification-item-count{flex-shrink:0}.notification-more{justify-content:center;margin-top:16px;display:flex}@media (width<=640px){.notification-page-head{flex-direction:column;align-items:flex-start}.notification-page-actions{justify-content:space-between;width:100%}}.plan-beta-notice{gap:10px;margin-bottom:28px;display:grid}.plan-beta-notice h2,.plan-beta-notice p,.plan-proposal-head h2,.plan-proposal-head p{margin:0}.plan-beta-notice h2,.plan-proposal-head h2{color:var(--ps-text-strong);font-size:18px}.plan-beta-notice p,.plan-proposal-head p{color:var(--ps-text);font-size:14px;line-height:1.6}.plan-stored-tier{border-top:1px solid var(--ps-line);padding-top:10px}.plan-stored-tier span{color:var(--ps-text-weak)}.plan-proposal-head{gap:4px;margin-bottom:14px;display:grid}.plan-proposal-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.plan-proposal-card{align-content:start}.onboarding-card{gap:18px;margin-bottom:28px;display:grid}.onboarding-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.onboarding-head h2,.onboarding-head p{margin:0}.onboarding-head h2{color:var(--ps-text-strong);margin-top:10px;font-size:19px}.onboarding-head p{color:var(--ps-text-weak);margin-top:5px;font-size:14px}.onboarding-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.onboarding-steps a{border:1px solid var(--ps-line);border-radius:var(--ps-radius-sm);min-height:100%;color:var(--ps-text-strong);align-items:center;gap:10px;padding:13px;text-decoration:none;display:flex}.onboarding-steps a:hover{border-color:var(--ps-primary);background:var(--ps-primary-bg)}.onboarding-step-index{background:var(--ps-primary-bg);width:26px;height:26px;color:var(--ps-primary-strong);border-radius:999px;flex:0 0 26px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.onboarding-step-copy{flex:1;gap:3px;min-width:0;display:grid}.onboarding-step-copy strong{font-size:14px}.onboarding-step-copy span{color:var(--ps-text-weak);font-size:12px;line-height:1.4}.onboarding-steps .is-complete a{background:var(--ps-bg)}.onboarding-steps .is-complete strong,.onboarding-steps .is-complete .onboarding-step-copy span{color:var(--ps-text-weak)}@media (width<=860px){.onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.onboarding-steps{grid-template-columns:1fr}}@media (width<=860px){.ps-action-grid{grid-template-columns:repeat(2,1fr)}.ps-action{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 14px}.ps-action .ps-action-sub,.ps-action .ps-action-go{display:none}.ps-action .ps-action-tt{font-size:14.5px;line-height:1.35}.ps-action-count{top:12px;right:12px}}:root{--ps-trade-film-bg:#e9f2ff;--ps-trade-film-fg:#0a78c2;--ps-trade-film-line:#9cc2f4;--ps-trade-wallpaper-bg:#f2edff;--ps-trade-wallpaper-fg:#831fad;--ps-trade-wallpaper-line:#c3b1ed;--ps-trade-tile-bg:#fff0e9;--ps-trade-tile-fg:#994733;--ps-trade-tile-line:#e8ad92;--ps-trade-flooring-bg:#eaf6ed;--ps-trade-flooring-fg:#297a41;--ps-trade-flooring-line:#9bc9a8;--ps-trade-demolition-bg:#ffeded;--ps-trade-demolition-fg:#e90c0c;--ps-trade-demolition-line:#e5a2a2;--ps-trade-electric-bg:#fff5d9;--ps-trade-electric-fg:#8b5d18;--ps-trade-electric-line:#dfc36e;--ps-trade-hash-0-bg:#e7f7f4;--ps-trade-hash-0-fg:#1800f5;--ps-trade-hash-0-line:#8ec9bf;--ps-trade-hash-1-bg:#ebefff;--ps-trade-hash-1-fg:#520000;--ps-trade-hash-1-line:#a7b2e5;--ps-trade-hash-2-bg:#ffedf2;--ps-trade-hash-2-fg:#c400f5;--ps-trade-hash-2-line:#e2a5b8;--ps-trade-hash-3-bg:#e7f7fb;--ps-trade-hash-3-fg:#9b1708;--ps-trade-hash-3-line:#8bc6d5;--ps-trade-hash-4-bg:#f5efe8;--ps-trade-hash-4-fg:#00187a;--ps-trade-hash-4-line:#cdb49d;--ps-trade-hash-5-bg:#f3f5df;--ps-trade-hash-5-fg:#1f375c;--ps-trade-hash-5-line:#bdc881;--ps-trade-hash-6-bg:#f9eefa;--ps-trade-hash-6-fg:#0029cc;--ps-trade-hash-6-line:#d4a7d6;--ps-trade-hash-7-bg:#edf1f4;--ps-trade-hash-7-fg:#cc00a3;--ps-trade-hash-7-line:#aebbc4;--ps-report-strong:#163f37;--ps-report-strong-hover:#0f342d;--ps-report-strong-bg:#e8f4f0;--ps-report-strong-line:#9bc7ba;--ps-report-rail:#cad5d1;--ps-report-warm-bg:#fff8e8;--ps-report-warm-fg:#765600;--ps-report-warm-line:#ead69a}.work-type-badge{border:1px solid;border-radius:999px;align-items:center;min-height:28px;padding:3px 10px;font-size:13px;font-weight:800;line-height:1.2;display:inline-flex}.work-type-badge[data-tone=film]{background:var(--ps-trade-film-bg);color:var(--ps-trade-film-fg);border-color:var(--ps-trade-film-line)}.work-type-badge[data-tone=wallpaper]{background:var(--ps-trade-wallpaper-bg);color:var(--ps-trade-wallpaper-fg);border-color:var(--ps-trade-wallpaper-line)}.work-type-badge[data-tone=tile]{background:var(--ps-trade-tile-bg);color:var(--ps-trade-tile-fg);border-color:var(--ps-trade-tile-line)}.work-type-badge[data-tone=flooring]{background:var(--ps-trade-flooring-bg);color:var(--ps-trade-flooring-fg);border-color:var(--ps-trade-flooring-line)}.work-type-badge[data-tone=demolition]{background:var(--ps-trade-demolition-bg);color:var(--ps-trade-demolition-fg);border-color:var(--ps-trade-demolition-line)}.work-type-badge[data-tone=electric]{background:var(--ps-trade-electric-bg);color:var(--ps-trade-electric-fg);border-color:var(--ps-trade-electric-line)}.work-type-badge[data-tone=hashed-0]{background:var(--ps-trade-hash-0-bg);color:var(--ps-trade-hash-0-fg);border-color:var(--ps-trade-hash-0-line)}.work-type-badge[data-tone=hashed-1]{background:var(--ps-trade-hash-1-bg);color:var(--ps-trade-hash-1-fg);border-color:var(--ps-trade-hash-1-line)}.work-type-badge[data-tone=hashed-2]{background:var(--ps-trade-hash-2-bg);color:var(--ps-trade-hash-2-fg);border-color:var(--ps-trade-hash-2-line)}.work-type-badge[data-tone=hashed-3]{background:var(--ps-trade-hash-3-bg);color:var(--ps-trade-hash-3-fg);border-color:var(--ps-trade-hash-3-line)}.work-type-badge[data-tone=hashed-4]{background:var(--ps-trade-hash-4-bg);color:var(--ps-trade-hash-4-fg);border-color:var(--ps-trade-hash-4-line)}.work-type-badge[data-tone=hashed-5]{background:var(--ps-trade-hash-5-bg);color:var(--ps-trade-hash-5-fg);border-color:var(--ps-trade-hash-5-line)}.work-type-badge[data-tone=hashed-6]{background:var(--ps-trade-hash-6-bg);color:var(--ps-trade-hash-6-fg);border-color:var(--ps-trade-hash-6-line)}.work-type-badge[data-tone=hashed-7]{background:var(--ps-trade-hash-7-bg);color:var(--ps-trade-hash-7-fg);border-color:var(--ps-trade-hash-7-line)}.site-report-stage{align-items:center;min-height:28px;padding:3px 9px;font-size:12px;font-weight:800;display:inline-flex}.site-report-stage.is-work_done{border:1px solid var(--ps-text-weak);background:var(--ps-surface);color:var(--ps-text);border-radius:999px}.site-report-stage.is-protection_done{background:var(--ps-report-strong);color:var(--ps-surface);clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);padding-inline:12px}.site-report-section-head,.site-report-item-head,.site-report-byline,.site-report-labels,.site-report-form-row,.site-report-worker,.site-report-scope,.site-report-link-guide{align-items:center;display:flex}.site-report-section-head,.site-report-item-head{justify-content:space-between;gap:12px}.site-report-section-head>div{min-width:0}.site-report-section-head span,.site-report-upload-kicker,.site-report-partner-intro>div>span{color:var(--ps-report-strong);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.site-report-section-head h2,.site-report-section-head h3,.site-report-partner-intro h2,.site-report-public-upload h2{margin:2px 0 0}.site-report-section-head>strong{color:var(--ps-report-strong);flex-shrink:0;font-size:13px}.site-report-public-section,.site-report-public-upload,.site-report-partner-list,.site-report-partner-upload{border:1px solid var(--ps-line);border-radius:var(--ps-radius);background:var(--ps-surface);box-shadow:var(--ps-shadow)}.site-report-public-section{border-top:4px solid var(--ps-report-strong);margin-bottom:20px;padding:18px}.site-report-scope,.site-report-link-guide{border:1px solid var(--ps-report-warm-line);border-radius:var(--ps-radius-sm);background:var(--ps-report-warm-bg);color:var(--ps-report-warm-fg);align-items:flex-start;gap:7px;padding:10px 12px;font-size:13px;line-height:1.45}.site-report-scope{margin:14px 0 4px}.site-report-list{gap:0;margin:18px 0 0;padding:0;list-style:none;display:grid}.site-report-item{grid-template-columns:18px minmax(0,1fr);gap:10px;display:grid}.site-report-item>article{min-width:0;padding:0 0 22px}.site-report-rail{justify-content:center;display:flex;position:relative}.site-report-rail:after{background:var(--ps-report-rail);content:"";width:2px;position:absolute;top:12px;bottom:0}.site-report-item:last-child .site-report-rail:after{display:none}.site-report-rail span{z-index:1;border:2px solid var(--ps-surface);background:var(--ps-report-strong);width:10px;height:10px;box-shadow:0 0 0 2px var(--ps-report-strong-line);border-radius:50%;margin-top:9px;position:relative}.site-report-labels{flex-wrap:wrap;gap:6px}.site-report-item-head time{color:var(--ps-text-weak);flex-shrink:0;font-size:11px}.site-report-byline{color:var(--ps-text);gap:7px;margin-top:8px;font-size:13px}.site-report-byline>span{background:var(--ps-report-strong-bg);color:var(--ps-report-strong);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.site-report-note{color:var(--ps-text);white-space:pre-wrap;margin:8px 0 0;font-size:14px}.site-report-photos{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:10px;display:grid}.site-report-photo{min-width:0}.site-report-photo>a:first-child{border-radius:var(--ps-radius-sm);background:var(--ps-bg);aspect-ratio:1;display:block;overflow:hidden}.site-report-photo img{object-fit:cover;width:100%;height:100%;transition:transform .15s;display:block}.site-report-photo>a:first-child:hover img{transform:scale(1.03)}.site-report-download{color:var(--ps-primary-strong);text-align:center;margin-top:5px;font-size:12px;font-weight:700;text-decoration:none;display:block}.site-report-actions{justify-content:flex-end;margin-top:10px;display:flex}.site-report-empty{border-radius:var(--ps-radius-sm);background:var(--ps-bg);color:var(--ps-text);gap:5px;margin-top:16px;padding:20px 16px;font-size:13px;display:grid}.site-report-empty strong{color:var(--ps-text-strong);font-size:14px}.site-report-public-upload{border-color:var(--ps-report-strong-line);margin-top:24px;padding:20px 18px}.site-report-public-upload>p{color:var(--ps-text);margin:6px 0 18px;font-size:13px}.site-report-form{gap:15px;display:grid}.site-report-form-row{align-items:flex-start;gap:12px}.site-report-form-row>*{flex:1;min-width:0}.site-report-stage-choice{border:0;grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:0;display:grid}.site-report-stage-choice legend{margin-bottom:6px}.site-report-stage-choice label{border:1px solid var(--ps-line);background:var(--ps-surface);min-height:44px;color:var(--ps-text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.site-report-stage-choice label.is-protection{border-radius:5px}.site-report-stage-choice label.is-selected{border-color:var(--ps-primary);background:var(--ps-primary-bg);color:var(--ps-primary-strong)}.site-report-stage-choice label.is-selected.is-protection{border-color:var(--ps-report-strong);background:var(--ps-report-strong);color:var(--ps-surface)}.site-report-stage-choice input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.site-report-worker{border-radius:var(--ps-radius-sm);background:var(--ps-report-strong-bg);color:var(--ps-report-strong);gap:7px;margin:0;padding:10px 12px;font-size:13px;font-weight:700}.site-report-field-hint{color:var(--ps-text-weak);font-size:12px}.site-report-submit{background:var(--ps-report-strong);border-color:var(--ps-report-strong);width:100%}.site-report-submit:hover{background:var(--ps-report-strong-hover);border-color:var(--ps-report-strong-hover)}.site-report-public-footer{color:var(--ps-text-weak);text-align:center;padding:24px 8px;font-size:12px}.project-site-reports{gap:18px;display:grid}.site-report-partner-intro{border-left:4px solid var(--ps-report-strong);border-radius:var(--ps-radius-sm);background:var(--ps-report-strong-bg);justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.site-report-partner-intro p{color:var(--ps-text);margin:5px 0 0;font-size:13px}.site-report-partner-intro>svg{color:var(--ps-report-strong);flex-shrink:0}.site-report-link-guide{margin:0}.site-report-partner-list,.site-report-partner-upload{padding:20px}.site-report-partner-upload{border-top:4px solid var(--ps-report-strong)}.site-report-partner-upload .site-report-form{margin-top:18px}.site-report-no-schedule{gap:5px;padding:28px 24px;display:grid}.site-report-no-schedule p{margin:0}@media (width<=640px){.site-report-item-head{flex-direction:column;align-items:flex-start;gap:6px}.site-report-form-row{flex-direction:column}.site-report-form-row>*{width:100%}.site-report-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.site-report-partner-list,.site-report-partner-upload{padding:16px}}:root{--ps-trade-carpentry-bg:#fff0d8;--ps-trade-carpentry-fg:#452f0c;--ps-trade-carpentry-line:#d8a351;--ps-trade-plumbing-bg:#e3f1ff;--ps-trade-plumbing-fg:#087e9b;--ps-trade-plumbing-line:#8ab8dc;--ps-trade-painting-bg:#ffe9f3;--ps-trade-painting-fg:#c06;--ps-trade-painting-line:#d994ac;--ps-trade-plastering-bg:#eff4db;--ps-trade-plastering-fg:#6e7a00;--ps-trade-plastering-line:#b6c46f;--ps-trade-waterproofing-bg:#e0f7fb;--ps-trade-waterproofing-fg:#007a6e;--ps-trade-waterproofing-line:#73bed0;--ps-trade-windows-bg:#e8edff;--ps-trade-windows-fg:#0c64e9;--ps-trade-windows-line:#9faee2;--ps-trade-lighting-bg:#fff3c4;--ps-trade-lighting-fg:#686868;--ps-trade-lighting-line:#d5b34f;--ps-trade-furniture-bg:#f0eaff;--ps-trade-furniture-fg:#5c1f56;--ps-trade-furniture-line:#b9a3e7;--ps-trade-cleaning-bg:#e1f7ed;--ps-trade-cleaning-fg:#0c7a00;--ps-trade-cleaning-line:#80c6a6;--ps-trade-hash-8-bg:#f2f2f2;--ps-trade-hash-8-fg:#080808;--ps-trade-hash-8-line:#a8a8a8;--ps-trade-hash-9-bg:#e5f0ff;--ps-trade-hash-9-fg:#29450c;--ps-trade-hash-9-line:#7da8e8;--ps-trade-hash-10-bg:#ffe9e7;--ps-trade-hash-10-fg:#3d1425;--ps-trade-hash-10-line:#e09a9d;--ps-trade-hash-11-bg:#e5f6df;--ps-trade-hash-11-fg:#99338f;--ps-trade-hash-11-line:#83c58e;--ps-trade-hash-12-bg:#eee9ff;--ps-trade-hash-12-fg:#0c0c45;--ps-trade-hash-12-line:#bba1e3;--ps-trade-hash-13-bg:#fff0df;--ps-trade-hash-13-fg:#143d31;--ps-trade-hash-13-line:#dfa06e;--ps-trade-hash-14-bg:#fbe8f4;--ps-trade-hash-14-fg:#993352;--ps-trade-hash-14-line:#d99ac5;--ps-trade-hash-15-bg:#fff2cf;--ps-trade-hash-15-fg:#cc003d;--ps-trade-hash-15-line:#d2b35f}.work-type-badge.is-small{min-height:22px;padding:2px 7px;font-size:11px}.work-type-badge[data-tone=carpentry]{background:var(--ps-trade-carpentry-bg);color:var(--ps-trade-carpentry-fg);border-color:var(--ps-trade-carpentry-line)}.work-type-badge[data-tone=plumbing]{background:var(--ps-trade-plumbing-bg);color:var(--ps-trade-plumbing-fg);border-color:var(--ps-trade-plumbing-line)}.work-type-badge[data-tone=painting]{background:var(--ps-trade-painting-bg);color:var(--ps-trade-painting-fg);border-color:var(--ps-trade-painting-line)}.work-type-badge[data-tone=plastering]{background:var(--ps-trade-plastering-bg);color:var(--ps-trade-plastering-fg);border-color:var(--ps-trade-plastering-line)}.work-type-badge[data-tone=waterproofing]{background:var(--ps-trade-waterproofing-bg);color:var(--ps-trade-waterproofing-fg);border-color:var(--ps-trade-waterproofing-line)}.work-type-badge[data-tone=windows]{background:var(--ps-trade-windows-bg);color:var(--ps-trade-windows-fg);border-color:var(--ps-trade-windows-line)}.work-type-badge[data-tone=lighting]{background:var(--ps-trade-lighting-bg);color:var(--ps-trade-lighting-fg);border-color:var(--ps-trade-lighting-line)}.work-type-badge[data-tone=furniture]{background:var(--ps-trade-furniture-bg);color:var(--ps-trade-furniture-fg);border-color:var(--ps-trade-furniture-line)}.work-type-badge[data-tone=cleaning]{background:var(--ps-trade-cleaning-bg);color:var(--ps-trade-cleaning-fg);border-color:var(--ps-trade-cleaning-line)}.work-type-badge[data-tone=hashed-8]{background:var(--ps-trade-hash-8-bg);color:var(--ps-trade-hash-8-fg);border-color:var(--ps-trade-hash-8-line)}.work-type-badge[data-tone=hashed-9]{background:var(--ps-trade-hash-9-bg);color:var(--ps-trade-hash-9-fg);border-color:var(--ps-trade-hash-9-line)}.work-type-badge[data-tone=hashed-10]{background:var(--ps-trade-hash-10-bg);color:var(--ps-trade-hash-10-fg);border-color:var(--ps-trade-hash-10-line)}.work-type-badge[data-tone=hashed-11]{background:var(--ps-trade-hash-11-bg);color:var(--ps-trade-hash-11-fg);border-color:var(--ps-trade-hash-11-line)}.work-type-badge[data-tone=hashed-12]{background:var(--ps-trade-hash-12-bg);color:var(--ps-trade-hash-12-fg);border-color:var(--ps-trade-hash-12-line)}.work-type-badge[data-tone=hashed-13]{background:var(--ps-trade-hash-13-bg);color:var(--ps-trade-hash-13-fg);border-color:var(--ps-trade-hash-13-line)}.work-type-badge[data-tone=hashed-14]{background:var(--ps-trade-hash-14-bg);color:var(--ps-trade-hash-14-fg);border-color:var(--ps-trade-hash-14-line)}.work-type-badge[data-tone=hashed-15]{background:var(--ps-trade-hash-15-bg);color:var(--ps-trade-hash-15-fg);border-color:var(--ps-trade-hash-15-line)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=film]{--ps-work-type-marker:var(--ps-trade-film-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=wallpaper]{--ps-work-type-marker:var(--ps-trade-wallpaper-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=tile]{--ps-work-type-marker:var(--ps-trade-tile-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=flooring]{--ps-work-type-marker:var(--ps-trade-flooring-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=demolition]{--ps-work-type-marker:var(--ps-trade-demolition-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=electric]{--ps-work-type-marker:var(--ps-trade-electric-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=carpentry]{--ps-work-type-marker:var(--ps-trade-carpentry-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=plumbing]{--ps-work-type-marker:var(--ps-trade-plumbing-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=painting]{--ps-work-type-marker:var(--ps-trade-painting-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=plastering]{--ps-work-type-marker:var(--ps-trade-plastering-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=waterproofing]{--ps-work-type-marker:var(--ps-trade-waterproofing-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=windows]{--ps-work-type-marker:var(--ps-trade-windows-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=lighting]{--ps-work-type-marker:var(--ps-trade-lighting-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=furniture]{--ps-work-type-marker:var(--ps-trade-furniture-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=cleaning]{--ps-work-type-marker:var(--ps-trade-cleaning-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-0]{--ps-work-type-marker:var(--ps-trade-hash-0-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-1]{--ps-work-type-marker:var(--ps-trade-hash-1-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-2]{--ps-work-type-marker:var(--ps-trade-hash-2-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-3]{--ps-work-type-marker:var(--ps-trade-hash-3-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-4]{--ps-work-type-marker:var(--ps-trade-hash-4-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-5]{--ps-work-type-marker:var(--ps-trade-hash-5-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-6]{--ps-work-type-marker:var(--ps-trade-hash-6-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-7]{--ps-work-type-marker:var(--ps-trade-hash-7-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-8]{--ps-work-type-marker:var(--ps-trade-hash-8-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-9]{--ps-work-type-marker:var(--ps-trade-hash-9-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-10]{--ps-work-type-marker:var(--ps-trade-hash-10-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-11]{--ps-work-type-marker:var(--ps-trade-hash-11-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-12]{--ps-work-type-marker:var(--ps-trade-hash-12-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-13]{--ps-work-type-marker:var(--ps-trade-hash-13-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-14]{--ps-work-type-marker:var(--ps-trade-hash-14-fg)}:is(.ps-cal-ev,.ps-mini-dot)[data-tone=hashed-15]{--ps-work-type-marker:var(--ps-trade-hash-15-fg)}.ps-cal-ev[data-tone] .dot,.ps-mini-dot[data-tone]{background:var(--ps-work-type-marker)}.empty-state-action{justify-content:center;margin-top:14px;display:flex}.project-info-state{border:1px solid var(--ps-line);border-radius:var(--ps-radius-sm);background:var(--ps-bg);color:var(--ps-text);align-items:center;gap:8px;padding:16px 18px;display:flex}.project-info-state p{margin:0}.onboarding-data-protection{border-top:1px solid var(--ps-line);color:var(--ps-text-weak);margin:14px 0 0;padding-top:12px;font-size:12px}
