:root{--ws-ink:#18212a;--ws-muted:#6b7480;--ws-red:#c10606;--ws-line:#e1e6ea;--ws-bg:#f4f6f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}.abc-ws-body{margin:0;background:var(--ws-bg);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ws-ink)}.abc-ws-body a{color:inherit;text-decoration:none}.abc-ws-body button,.abc-ws-body input,.abc-ws-body select{font:inherit}.abc-ws-body a:focus-visible,.abc-ws-body button:focus-visible,.abc-ws-body input:focus-visible,.abc-ws-body select:focus-visible,.abc-ws-body summary:focus-visible{outline:3px solid #e9a439;outline-offset:3px}.ws-header{height:86px;display:flex;align-items:center;gap:35px;padding:0 4%;background:white;border-bottom:1px solid var(--ws-line)}.ws-header img{display:block;width:175px;height:auto}.ws-product{font-size:10px;letter-spacing:2px;border-left:1px solid var(--ws-line);padding-left:32px;color:var(--ws-muted)}.ws-site-link{margin-left:auto;font-size:12px;color:var(--ws-muted)!important}.ws-layout{display:grid;grid-template-columns:246px 1fr;min-height:calc(100vh - 145px)}.ws-sidebar{padding:35px 24px;background:#fff;border-right:1px solid var(--ws-line)}.ws-profile{display:flex;align-items:center;gap:12px;word-break:break-word;margin-bottom:35px}.ws-profile strong{font-size:13px}.ws-profile small{display:block;color:var(--ws-muted);font-size:11px;margin-top:4px}.ws-avatar{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;background:#fff0f0;color:var(--ws-red);border:1px solid #f4d9da;border-radius:50%;font-size:12px;font-weight:700}.ws-nav{display:grid;gap:8px}.ws-nav>a{display:flex;justify-content:space-between;gap:10px;font-weight:600;font-size:12px;padding:12px;background:#f6f7f9;border-radius:5px}.ws-nav>a[aria-current=page]{background:#fff0f0;color:var(--ws-red)}.ws-sidebar-note{border-top:1px solid var(--ws-line);margin-top:45px;padding-top:25px;font-size:11px;color:var(--ws-muted)}.ws-sidebar-note p{line-height:1.8}.ws-sidebar .ws-subtle,.ws-text-button{font-size:11px;background:none;border:0;padding:0;color:var(--ws-muted);cursor:pointer}.ws-main{padding:42px 4%;min-width:0;max-width:1600px;width:100%;margin:auto}.ws-kicker{font-size:9px;font-weight:700;letter-spacing:1.8px;color:var(--ws-red);margin:0 0 10px}.abc-ws-body h1{font-size:31px;font-weight:650;letter-spacing:-1px;line-height:1.2;margin:0 0 13px}.abc-ws-body h2{font-size:20px;font-weight:650;letter-spacing:-.5px;line-height:1.3;margin:0 0 20px}.abc-ws-body h3{font-size:17px;font-weight:600;line-height:1.4}.ws-muted{color:var(--ws-muted)}.ws-small{font-size:11px;line-height:1.8}.ws-page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.ws-page-heading p{margin-bottom:0}.ws-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--ws-red);color:#fff!important;border:1px solid var(--ws-red);border-radius:5px;padding:13px 20px;font-weight:600;font-size:12px;line-height:1.5;cursor:pointer;white-space:nowrap}.ws-button:hover{background:#99080c;border-color:#99080c}.ws-secondary{background:#fff;color:var(--ws-ink)!important;border-color:#cbd2d9}.ws-secondary:hover{background:#f4f6f8;border-color:#8a939e}.ws-panel{background:#fff;border:1px solid var(--ws-line);border-radius:10px;padding:26px;margin-bottom:24px;min-width:0;box-shadow:0 2px 3px #18212a02}.ws-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.ws-stats>div{background:#fff;border:1px solid var(--ws-line);border-radius:8px;padding:20px 24px}.ws-stats span{display:block;font-size:11px;color:var(--ws-muted)}.ws-stats strong{display:block;font-size:30px;font-weight:600;margin-top:10px}.ws-stats .ws-status-text{font-size:22px;line-height:1.7}.ws-empty{padding:28px 12px;text-align:center;color:var(--ws-muted)}.ws-empty h2,.ws-empty h3{color:var(--ws-ink)}.ws-empty p{max-width:500px;margin:0 auto 20px;font-size:13px}.ws-empty .ws-button{margin-top:10px}.ws-first-empty{padding:45px 25px}.ws-empty-symbol{display:inline-grid;place-items:center;background:#fff1f1;color:var(--ws-red);border-radius:12px;width:50px;height:50px;font-size:25px;margin-bottom:20px}.ws-grid-form{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:end}.abc-ws-body label{display:block;font-size:11px;font-weight:600;margin:0 0 8px}.abc-ws-body input:not([type=hidden]),.abc-ws-body select{width:100%;padding:12px 13px;border:1px solid #cfd7df;border-radius:5px;background:white;color:var(--ws-ink);font-size:13px;min-height:44px}.abc-ws-body input::placeholder{color:#98a1ab}.ws-boq-form{grid-template-columns:2fr .65fr 1fr auto}.ws-section-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}.ws-section-heading h2{margin-bottom:5px}.ws-section-heading p{margin:0}.ws-badge{display:inline-flex;align-items:center;align-self:start;border:1px solid #dce2e7;background:#f6f8fa;color:#63717e;border-radius:5px;padding:5px 9px;font-size:10px;white-space:nowrap}.ws-badge-good{background:#edf8f1;color:#216740;border-color:#c7e8d2}.ws-badge-wait{background:#fff7e8;color:#8a610e;border-color:#f1dfb3}.ws-table-scroll{overflow-x:auto;max-width:100%;margin-bottom:14px}.abc-ws-body table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}.abc-ws-body th{font-size:10px;letter-spacing:.2px;font-weight:600;color:var(--ws-muted);background:#f6f8fa;white-space:nowrap}.abc-ws-body th,.abc-ws-body td{padding:14px 13px;border-bottom:1px solid var(--ws-line);vertical-align:middle}.abc-ws-body td:first-child{min-width:160px}.ws-number{text-align:right;white-space:nowrap}.ws-boq-table{min-width:700px}.ws-daily-table{min-width:650px}.ws-daily-table td:nth-child(3){width:180px}.ws-daily-table td:last-child{min-width:200px}.ws-daily-table input{min-width:130px}.ws-progress-cell{min-width:140px}.ws-progress-cell span{font-size:10px}.ws-progress-cell progress{display:block;width:100%;height:5px;accent-color:var(--ws-red);border:0;margin-top:7px}.ws-progress-cell progress::-webkit-progress-bar{background:#edf0f3;border-radius:5px}.ws-progress-cell progress::-webkit-progress-value{background:var(--ws-red);border-radius:5px}.ws-details{border-top:1px solid var(--ws-line);padding-top:18px}.ws-details summary{font-weight:600;font-size:12px;cursor:pointer;color:var(--ws-ink);margin-bottom:18px}.ws-date-form{display:flex;gap:15px;align-items:end;background:#f7f9fb;border:1px solid var(--ws-line);padding:18px;border-radius:7px;margin-bottom:22px}.ws-date-form>div{max-width:220px}.ws-date-form p{margin:0 0 13px auto}.ws-alert{padding:14px 18px;background:#fff5e7;border:1px solid #ead0a4;color:#775117;border-radius:6px;font-size:12px;line-height:1.8;margin-bottom:24px}.ws-success{background:#eef9f2;border-color:#b9dfc6;color:#21683c}.ws-breadcrumb{display:inline-block;font-size:11px;color:var(--ws-muted)!important;margin-bottom:22px}.ws-history-day{border-top:1px solid var(--ws-line);padding:17px 0}.ws-history-day summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px}.ws-history-day summary:after{content:'+';color:var(--ws-red);font-size:20px}.ws-history-day[open] summary:after{content:'−'}.ws-history-day summary span{margin-left:auto;color:var(--ws-muted);font-size:11px}.ws-history-day table{margin-top:15px}.ws-subtle{display:inline-block;font-size:11px;color:var(--ws-muted)!important;margin-top:14px;text-decoration:underline!important}.ws-site-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ws-site-card{display:block;transition:border-color .2s}.ws-site-card:hover{border-color:var(--ws-red)}.ws-site-card h2{margin:20px 0 10px}.ws-site-card p{font-size:12px}.ws-card-bottom{border-top:1px solid var(--ws-line);padding-top:18px;margin-top:22px;display:flex;justify-content:space-between;gap:16px;font-size:10px;color:var(--ws-muted)}.ws-card-bottom strong{color:var(--ws-red)}.ws-footer{display:flex;justify-content:space-between;gap:25px;padding:23px 4%;border-top:1px solid var(--ws-line);background:#fff;color:var(--ws-muted);font-size:10px}.ws-login{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;max-width:1150px;margin:80px auto 100px;padding:0 35px;min-height:calc(100vh - 320px);align-items:center}.ws-login-story h1{font-size:46px;line-height:1.15;letter-spacing:-1.7px}.ws-login-story h1 span{color:var(--ws-red)}.ws-login-story>p:not(.ws-kicker){font-size:15px;color:var(--ws-muted);max-width:380px}.ws-login-story ul{padding:0;list-style:none;margin:30px 0}.ws-login-story li{padding:13px 0;border-bottom:1px solid var(--ws-line);font-size:12px}.ws-login-story li:before{content:'↗';color:var(--ws-red);margin-right:15px}.ws-login-form{padding:35px;margin-bottom:0;box-shadow:0 20px 60px #18212a08}.ws-login-form h2{font-size:28px;margin-top:18px}.ws-login-form .ws-muted{font-size:12px;line-height:1.9}.ws-login-form form{margin-top:25px}.ws-login-form form .ws-button{width:100%;margin-top:20px}.ws-login-form #code{font-size:25px;letter-spacing:8px;text-align:center}.ws-admin-login{display:block;font-size:10px;color:var(--ws-muted)!important;border-top:1px solid var(--ws-line);padding-top:18px;margin-top:25px}.ws-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.ws-inline-link{text-decoration:underline!important;color:var(--ws-red)!important}.ws-nowrap{white-space:nowrap}
@media(max-width:1150px){.ws-layout{grid-template-columns:210px 1fr}.ws-sidebar{padding:30px 18px}.ws-main{padding:35px 25px}.ws-grid-form{grid-template-columns:1fr 1fr}.ws-grid-form>.ws-button{justify-self:start}.ws-boq-form{grid-template-columns:1.5fr 1fr}.ws-page-heading{align-items:start}.ws-page-heading h1{font-size:27px}.ws-stats>div{padding:18px}.ws-site-grid{grid-template-columns:1fr}.ws-login{gap:45px}}
@media(max-width:760px){.ws-header{height:73px;padding:0 20px;gap:15px}.ws-header img{width:155px}.ws-product{display:none}.ws-site-link{font-size:11px}.ws-layout{grid-template-columns:1fr}.ws-sidebar{border-right:0;border-bottom:1px solid var(--ws-line);padding:20px;display:flex;align-items:center;flex-wrap:wrap;gap:18px}.ws-profile{margin:0}.ws-profile strong{font-size:12px}.ws-profile small{font-size:10px}.ws-avatar{width:32px;height:32px;font-size:10px}.ws-nav{display:flex;width:100%;order:3;gap:10px}.ws-nav>a{flex:1;font-size:10px;gap:10px;padding:10px}.ws-sidebar-note{display:none}.ws-sidebar>.ws-subtle,.ws-sidebar>form{margin:0 0 0 auto}.ws-main{padding:28px 16px}.ws-page-heading{flex-direction:column;gap:18px}.ws-page-heading h1{font-size:26px}.ws-page-heading .ws-muted{font-size:12px}.ws-panel{padding:20px 16px;margin-bottom:18px;border-radius:8px}.ws-stats{gap:8px}.ws-stats>div{padding:14px 10px}.ws-stats span{font-size:9px}.ws-stats strong{font-size:24px}.ws-stats .ws-status-text{font-size:17px;line-height:2.2}.ws-grid-form,.ws-boq-form{grid-template-columns:1fr}.ws-button{font-size:11px;padding:12px 16px}.ws-section-heading{gap:12px;flex-wrap:wrap}.ws-section-heading h2{font-size:19px}.ws-date-form{flex-wrap:wrap;padding:15px;gap:12px}.ws-date-form>div{max-width:none;width:100%}.ws-date-form p{margin:0;font-size:10px}.ws-card-bottom{font-size:9px}.ws-footer{padding:20px;flex-direction:column;gap:7px;font-size:9px}.ws-login{grid-template-columns:1fr;padding:0 20px;margin:35px auto 50px;gap:25px}.ws-login-story h1{font-size:36px}.ws-login-story ul{display:none}.ws-login-story>p:not(.ws-kicker){font-size:13px}.ws-login-form{padding:25px 20px}.ws-login-form h2{font-size:25px}.ws-first-empty{padding:30px 20px}.ws-empty p{font-size:12px}.ws-history-day summary{font-size:12px}.ws-history-day summary span{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ws-site-card{transition:none}}

.ws-password-buttons{display:flex;flex-wrap:wrap;gap:12px}.ws-password-buttons .ws-button{white-space:normal;text-align:center;max-width:100%}.ws-button:disabled{opacity:.45;cursor:not-allowed;background:#6b7480;border-color:#6b7480}

.ws-import-rows input[data-field=description]{min-width:330px}.ws-import-rows input[data-field=unit]{min-width:80px;width:90px}.ws-import-rows input[data-field=planned]{min-width:120px}.ws-import-invalid{background:#fff6eb}.ws-import [hidden]{display:none!important}.ws-import textarea{border:1px solid #cfd7df;border-radius:5px;padding:12px;font:12px/1.7 monospace}.ws-import-preview{margin-top:25px}
