/* OnTime Group customer portal - single stylesheet, no external dependencies (corporate-portal theme) */
*{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#1f2937;background:#f4f6f9;line-height:1.5}
a{color:var(--brand,#0f3d73)}a:hover{text-decoration:underline}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.muted{color:#6b7280}.small{font-size:.875rem}.center{text-align:center}.right{text-align:right}.nowrap{white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}
.inline{display:inline}
h1{font-size:1.6rem;margin:1.2rem 0 .6rem}h2{font-size:1.2rem;margin:1.4rem 0 .6rem}h3{font-size:1.02rem;margin:1rem 0 .4rem}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;color:inherit}
.logo-mark{display:inline-flex;width:34px;height:34px;border-radius:9px;background:var(--brand,#0f3d73);color:#fff;align-items:center;justify-content:center;font-weight:800}
/* cards / grids */
.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px 20px;margin-bottom:16px}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.card-h h2{margin:0}
.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.tile{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 18px}.tile .n{font-size:1.7rem;font-weight:700;color:var(--brand)}.tile .l{color:#6b7280;font-size:.875rem}
.section-brand{display:inline-flex;align-items:center;gap:8px}.dot{width:12px;height:12px;border-radius:50%;display:inline-block}
/* badges */
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.5;white-space:nowrap}
.badge-ok{background:#dcfce7;color:#166534}.badge-warn{background:#fef3c7;color:#92400e}.badge-info{background:#dbeafe;color:#1e40af}.badge-open{background:#e0e7ff;color:#3730a3}.badge-muted{background:#f3f4f6;color:#4b5563}.badge-danger{background:#fee2e2;color:#991b1b}
.badge-live{background:#dcfce7;color:#166534}.badge-fresh{background:#dbeafe;color:#1e40af}.badge-stale{background:#fef3c7;color:#92400e}.badge-unavailable{background:#fee2e2;color:#991b1b}
.badge-strong{background:#dcfce7;color:#166534}.badge-review{background:#fef3c7;color:#92400e}
/* tables */
.table{width:100%;border-collapse:collapse;font-size:.93rem}.table th{text-align:left;font-weight:600;color:#6b7280;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;padding:8px 10px;border-bottom:1px solid #e5e7eb}
.table th.right{text-align:right}.table td{padding:9px 10px;border-bottom:1px solid #f1f5f9;vertical-align:top}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:#fafbfc}
.table-wrap{overflow-x:auto}
/* forms */
label{display:block;font-weight:600;font-size:.9rem;margin:12px 0 4px}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input[type=tel],select,textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent,#f0a500);outline-offset:1px;border-color:transparent}
textarea{min-height:90px}.help{color:#6b7280;font-size:.82rem;margin-top:3px}
.check{display:flex;gap:8px;align-items:center;font-weight:500;margin:10px 0}.check input{width:auto}
.btn{display:inline-block;padding:9px 16px;border-radius:8px;border:1px solid transparent;background:var(--brand,#0f3d73);color:#fff;font-weight:600;font:inherit;cursor:pointer;text-decoration:none;line-height:1.3}
.btn:hover{filter:brightness(1.08);text-decoration:none}.btn-sm{padding:5px 10px;font-size:.82rem}.btn-outline{background:#fff;color:var(--brand);border-color:var(--brand)}.btn-accent{background:var(--accent);color:#1f2937}.btn-danger{background:#dc2626}.btn-link{background:none;border:0;color:var(--brand);padding:0;font-weight:500}.btn-block{width:100%;text-align:center}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.otp-input{font-size:1.6rem;letter-spacing:.5em;text-align:center}
.flash{padding:12px 16px;border-radius:10px;margin:14px 0;border:1px solid}
.flash-ok,.flash-success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.flash-warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.flash-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.flash-info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.empty{padding:26px;text-align:center;color:#6b7280;background:#fafbfc;border:1px dashed #e5e7eb;border-radius:10px}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;font-size:.93rem}.kv dt{color:#6b7280}.kv dd{margin:0}
.timeline{list-style:none;padding:0;margin:0;border-left:2px solid #e5e7eb}.timeline li{position:relative;padding:0 0 14px 18px}.timeline li:before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--brand)}
.alert-row td{background:#fffbeb}
.progress{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress span{display:block;height:100%;background:var(--brand)}
.pill-nav{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.pill-nav a{padding:5px 12px;border-radius:999px;border:1px solid #d1d5db;text-decoration:none;color:#374151;font-size:.85rem}.pill-nav a.active{background:var(--brand);color:#fff;border-color:var(--brand)}
details summary{cursor:pointer;font-weight:600}
.code{background:#111827;color:#e5e7eb;padding:12px 14px;border-radius:8px;font-family:ui-monospace,Menlo,monospace;font-size:.85rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all}
.secret{font-family:ui-monospace,Menlo,monospace;background:#fef3c7;padding:8px 10px;border-radius:6px;word-break:break-all}
/* auth */
body.auth{background:linear-gradient(160deg,var(--brand,#0f3d73) 0%,#f4f6f9 60%)}
.auth-wrap{max-width:440px;margin:6vh auto;padding:0 16px}.auth-card{background:#fff;border-radius:14px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.auth-brand{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.auth-brand-logo{flex-direction:column;text-align:center;gap:6px;margin-bottom:18px}.auth-brand-logo img{height:84px;width:auto}
body.auth.photo{background-color:#0b1a33;background-size:cover;background-position:center;background-repeat:no-repeat;min-height:100vh}
body.auth.photo .auth-card{box-shadow:0 14px 40px rgba(0,0,0,.35)}
body.auth.photo .auth-wrap>p,body.auth.photo .auth-wrap>p a{color:#eef2f7}
/* admin */
body.admin{display:flex;min-height:100vh}
.side{width:250px;background:#111827;color:#e5e7eb;padding:18px 14px;display:flex;flex-direction:column;gap:14px;flex-shrink:0}
.side-logo{display:block;background:#fff;border-radius:10px;padding:8px;text-align:center}.side-logo img{height:56px;width:auto;display:inline-block}
.side .logo{color:#fff}.side nav{display:flex;flex-direction:column;gap:2px}.side nav a{color:#d1d5db;text-decoration:none;padding:8px 10px;border-radius:7px;font-size:.93rem}.side nav a.active,.side nav a:hover{background:#1f2937;color:#fff}
.side-h{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin:12px 10px 4px}
.side-foot{margin-top:auto;border-top:1px solid #1f2937;padding-top:12px}.side-foot .btn-link{color:#93c5fd}
.content{flex:1;padding:22px 28px;max-width:1400px}
.health-healthy{color:#166534}.health-degraded{color:#92400e}.health-down{color:#991b1b}.health-unknown{color:#6b7280}
.signal{display:inline-block;padding:1px 7px;border-radius:6px;font-size:.75rem;background:#f3f4f6;margin:1px}.signal.neg{background:#fee2e2;color:#991b1b}.signal.pos{background:#dcfce7;color:#166534}
@media (max-width:820px){body.admin{flex-direction:column}.side{width:auto}.content{padding:16px}.kv{grid-template-columns:1fr}}
.ws-btn.danger{background:#b83232;border-color:#b83232;color:#fff}
/* confirmation screen for dangerous actions (cap.js, form[data-danger]) */
.ws-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(11,29,51,.6)}
.ws-modal-box{width:100%;max-width:430px;padding:28px 26px 24px;background:#fff;border-top:4px solid #b83232;box-shadow:0 24px 60px rgba(0,0,0,.35);text-align:center}
.ws-modal-icon{width:52px;height:52px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;background:#fdeaea;color:#b83232;font-size:24px;font-weight:900}
.ws-modal-box h2{margin:0 0 8px;font-size:21px;color:#101921}.ws-modal-box p{margin:0 0 22px;color:#5f6b72;font-size:14.5px;line-height:1.5}
.ws-modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.ws-modal-actions .ws-btn{min-width:150px}
/* customer workspace (sidebar + header + blocks) */
body.ws{background:#f3f4f2;--ws-navy:#0b1d33;--ws-line:#e0e4e1;--ws-ink:#101921;--ws-muted:#6f7d85;--ws-gold-ink:#1b6f66;--ws-gold-pale:#e3f4f1}
.ws-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh;background:linear-gradient(90deg,var(--ws-navy) 252px,transparent 252px)}
.ws-side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 16px;background:var(--ws-navy);color:#fff;overflow-y:auto}
.ws-logo{display:block;background:#fff;border-radius:6px;padding:8px 10px;text-align:center;text-decoration:none;color:var(--ws-ink);font-weight:700}.ws-logo img{height:62px;width:auto;display:inline-block;vertical-align:middle}
.ws-nav{display:grid;gap:4px;margin-top:26px}
.ws-nav a{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;min-height:44px;padding:0 12px;border-radius:4px;color:#a3b2bf;font-size:14px;font-weight:600;text-decoration:none}
.ws-nav a>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-size:10px;font-weight:800;letter-spacing:.02em}
.ws-nav a b{min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:11px;background:var(--accent);color:var(--ws-navy);font-size:11px}
.ws-nav a:hover{color:#fff;background:rgba(255,255,255,.06);text-decoration:none}
.ws-nav a.active{color:#fff;background:rgba(255,255,255,.12)}.ws-nav a.active>span{background:var(--accent);border-color:var(--accent);color:var(--ws-navy)}
.ws-help{margin-top:auto;display:grid;justify-items:start;gap:6px;padding:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.ws-help>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--ws-navy);font-weight:900;font-size:13px}
.ws-help strong{font-size:14px}.ws-help small{color:#93a3b1;font-size:12.5px;line-height:1.45}.ws-help a{color:var(--accent);font-size:13px;font-weight:800;text-decoration:none}
.ws-signout button,.ws-signout-top button{background:none;border:0;font:inherit;cursor:pointer}
.ws-signout button{margin-top:10px;padding:8px 4px;color:#93a3b1;font-size:13px;display:inline-flex;align-items:center;gap:8px}.ws-signout button:hover{color:#ffb4b4}
.ws-signout-top{display:none}.ws-signout-top button{padding:8px 10px;border:1px solid var(--ws-line);background:#fff;color:var(--ws-muted);font-size:13px;font-weight:700}
.ws-main{min-width:0;display:flex;flex-direction:column}
.ws-header{position:sticky;top:0;z-index:10;height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;background:#fff;border-bottom:1px solid var(--ws-line)}
.ws-header>div{display:flex;align-items:center;gap:12px;min-width:0}
.ws-crumb{color:var(--ws-muted);font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.ws-bell{position:relative;width:38px;height:38px;display:grid;place-items:center;border:1px solid #dce1de;border-radius:50%;text-decoration:none;font-size:15px}
.ws-bell b{position:absolute;top:-5px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#dc2626;color:#fff;font-size:10.5px;display:grid;place-items:center}
.ws-user{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;min-width:0}.ws-user:hover{text-decoration:none}
.ws-avatar{width:38px;height:38px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--ws-navy);font-weight:800;font-size:13px}
.ws-user-meta{display:grid;line-height:1.3;min-width:0}.ws-user-meta strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.ws-user-meta small{color:#8a969b;font-size:12px}
.ws-content{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:34px 0 56px;flex:1}
.ws-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:16px 32px;background:#fff;border-top:1px solid var(--ws-line);color:#7d8a90;font-size:13px}
.ws-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.ws-title p{margin:0 0 8px;color:#8a969c;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ws-title h1{margin:0 0 8px;font-size:clamp(26px,2.6vw,36px);line-height:1.1;letter-spacing:-.02em;color:var(--ws-ink)}
.ws-title .sub{color:#6b777d;font-size:15px}.ws-title .actions{flex-shrink:0}
.ws-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 18px;border:1px solid var(--ws-navy);background:var(--ws-navy);color:#fff;font:inherit;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;line-height:1.2}
.ws-btn:hover{text-decoration:none;filter:brightness(1.15)}.ws-btn>i{font-style:normal;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--ws-navy);font-weight:900}
.ws-btn.light{background:#fff;color:var(--ws-ink);border-color:#cfd5d2}.ws-btn.gold{background:var(--accent);border-color:var(--accent);color:var(--ws-navy)}.ws-btn.sm{padding:7px 12px;font-size:13px}
.ws-btn[disabled]{opacity:.5;cursor:not-allowed}
.ws-attn{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-bottom:10px;padding:14px 18px;border-left:3px solid var(--accent);background:#eef8f6}
.ws-attn>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-weight:900;font-size:13px}
.ws-attn strong{font-size:14.5px}.ws-attn p{margin:3px 0 0;color:#5f6b72;font-size:13.5px}.ws-attn a{color:var(--ws-gold-ink);font-size:13.5px;font-weight:800;text-decoration:none;white-space:nowrap}
.ws-attn.info{border-left-color:#3b6fa8;background:#eef4fb}.ws-attn.info>span{background:#3b6fa8}.ws-attn.info a{color:#24507d}
.ws-attn.danger{border-left-color:#c24141;background:#fdf1f1}.ws-attn.danger>span{background:#c24141}.ws-attn.danger a{color:#9a2d2d}
.ws-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 22px}.ws-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.ws-stats article{min-height:112px;display:grid;align-content:space-between;gap:10px;padding:16px 18px;background:#fff;border:1px solid var(--ws-line)}
.ws-stats span{color:var(--ws-muted);font-size:13px}.ws-stats strong{font-size:26px;letter-spacing:-.02em;color:var(--ws-ink);line-height:1.15;overflow-wrap:anywhere}.ws-stats strong.money{font-size:22px}.ws-stats small{color:#7d8a90;font-size:12.5px}
.ws-block{margin-bottom:22px;padding:22px 24px;background:#fff;border:1px solid var(--ws-line)}
.ws-block-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.ws-block-h .eyebrow{margin:0 0 5px;color:#8a969c;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ws-block-h h2{margin:0;font-size:19px;letter-spacing:-.01em;color:var(--ws-ink)}.ws-block-h h2 small{color:#8a969c;font-size:14px;font-weight:600}
.ws-block-h a,.ws-link{color:var(--ws-gold-ink);font-size:13.5px;font-weight:800;text-decoration:none;white-space:nowrap}
.ws-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.ws-two>.ws-block{margin-bottom:22px}
.ws-services{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.ws-service{display:grid;grid-template-rows:auto auto 1fr auto;gap:8px;padding:18px;background:#fff;border:1px solid var(--ws-line);border-top:3px solid var(--accent);text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
.ws-service:hover{text-decoration:none;box-shadow:0 10px 24px rgba(16,25,33,.09);transform:translateY(-2px)}
.ws-service strong{font-size:15.5px;color:var(--ws-ink)}.ws-service p{margin:0;color:#6b777d;font-size:13px;line-height:1.45}
.ws-service .meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;color:var(--ws-muted)}
.ws-service .go{color:var(--ws-gold-ink);font-size:13px;font-weight:800;margin-top:4px}
.ws-service.off{background:#fafbfa}.ws-service.off .ws-ico{opacity:.75}
.ws-ico{width:40px;height:40px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--ws-gold-pale);color:#7a5710;font-size:11px;font-weight:800;overflow:hidden}
.ws-ico.svc{background:var(--ws-navy);color:#fff}.ws-ico.lg{width:58px;height:58px;font-size:16px}.ws-ico img{width:100%;height:100%;object-fit:contain;background:#fff}
.ws-app{margin-top:12px;padding:18px;border:1px solid #e3e6e4;background:#fafbfa}.ws-app:first-of-type{margin-top:0}
.ws-app-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ws-app-top>div{display:flex;align-items:center;gap:12px;min-width:0}.ws-app-top>div>div{display:grid;gap:2px;min-width:0}
.ws-app-top strong{font-size:15px}.ws-app-top small{color:#879298;font-size:12.5px}
.ws-app-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:13px;color:var(--ws-muted)}
.ws-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px}
.ws-steps>div{position:relative;display:grid;gap:3px;padding-right:10px;align-content:start}
.ws-steps>div::before{content:"";position:absolute;left:24px;right:0;top:10px;height:2px;background:#dde2df}
.ws-steps>div.done::before{background:var(--accent)}.ws-steps>div:last-child::before{display:none}
.ws-steps>div>span{position:relative;z-index:1;width:22px;height:22px;border-radius:50%;background:#dce1de;color:transparent;display:grid;place-items:center;font-size:11px;font-weight:900}
.ws-steps>div.done>span,.ws-steps>div.current>span{background:var(--accent);color:#fff}.ws-steps>div.current>span{box-shadow:0 0 0 4px rgba(47,185,168,.28)}
.ws-steps strong{margin-top:6px;font-size:13px;color:var(--ws-ink)}.ws-steps small{color:#8d979c;font-size:12px;overflow-wrap:anywhere}
.ws-mini{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #edf0ee}
.ws-mini>div{display:grid;gap:2px;min-width:0}.ws-mini strong{font-size:14px;overflow-wrap:anywhere}.ws-mini small{color:#8b969b;font-size:12.5px}
.ws-mini .ws-ico{width:34px;height:34px;font-size:10px}.ws-mini>div.actions{display:flex;flex-wrap:nowrap;align-items:center;gap:8px}
.ws-row{display:grid;gap:14px;align-items:center;min-height:72px;padding:12px 0;border-top:1px solid #ecefec}
.ws-row>div{display:grid;gap:3px;min-width:0}.ws-row strong{font-size:14.5px;color:var(--ws-ink);overflow-wrap:anywhere}.ws-row small{color:#7d898e;font-size:12.5px}
.ws-row.app{grid-template-columns:auto minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr) auto auto}
.ws-row.doc{grid-template-columns:auto minmax(0,1.5fr) minmax(0,.9fr) auto auto}
.ws-row.inv{grid-template-columns:auto minmax(0,1.4fr) minmax(0,.9fr) minmax(0,.8fr) auto auto}
.ws-row.co{grid-template-columns:auto minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) auto}
.ws-row .c-amt{text-align:right}.ws-row .c-go{justify-self:end;display:flex;gap:10px;align-items:center}
.ws-row .go,.ws-mini .go{color:var(--ws-gold-ink);font-size:13.5px;font-weight:800;text-decoration:none;white-space:nowrap}
.ws-list>.ws-row:first-child,.ws-list>.ws-mini:first-child{border-top:0}
.ws-pill{display:inline-block;padding:5px 11px;border-radius:16px;font-size:12px;font-weight:700;text-align:center;white-space:nowrap;line-height:1.3}
.ws-pill.complete{background:#edf6e9;color:#3f7338}.ws-pill.active{background:#e9f0f6;color:#3d627a}.ws-pill.attention{background:#fdf1d6;color:#8a5f10}.ws-pill.muted{background:#f1f2f1;color:#6b7280}.ws-pill.danger{background:#fdeaea;color:#a12b2b}
.ws-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:6px;padding-bottom:12px;border-bottom:1px solid #e6e9e7}
.ws-chips a,.ws-chips button{padding:8px 12px;border:1px solid transparent;background:transparent;color:var(--ws-muted);font:inherit;font-size:13.5px;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap}
.ws-chips a:hover,.ws-chips button:hover{text-decoration:none;color:var(--ws-ink)}
.ws-chips .active{border-color:#d6dcd9;background:#f3f5f3;color:var(--ws-ink)}.ws-chips span{margin-left:5px;color:#1b6f66}
.ws-chips.biz{border-bottom:0;padding-bottom:0;margin-bottom:10px}
.ws-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.ws-toolbar input[type=search]{width:260px;max-width:100%;padding:9px 12px;border:1px solid #d6dcd9;border-radius:0;font:inherit;font-size:14px}
.ws-empty{padding:28px;text-align:center;color:#6b777d;background:#fafbfa;border:1px dashed #dfe3e0}.ws-empty strong{display:block;color:var(--ws-ink);font-size:15.5px;margin-bottom:4px}.ws-empty .actions{justify-content:center;margin-top:14px}
.ws-note-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:flex-start;padding:16px 12px;border-bottom:1px solid #e8ebe9}
.ws-note-item.unread{background:#fffbf1}.ws-note-item>div{display:grid;gap:4px}.ws-note-item strong{font-size:14.5px}.ws-note-item p{margin:0;color:#6f7b80;font-size:13.5px}.ws-note-item small{color:#8b969b;font-size:12.5px}
.ws-profile-head{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #e3e6e4}.ws-profile-head .ws-avatar{width:54px;height:54px;font-size:17px}
.ws-profile-head>div{display:grid;gap:2px}.ws-profile-head strong{font-size:17px}.ws-profile-head small{color:#8a969b;font-size:13px}
.ws-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--svc,#0f3d73);margin-right:6px}
body.ws .card{border-radius:0;border-color:var(--ws-line);padding:22px 24px;margin-bottom:22px}
body.ws .card-h h1{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em}
body.ws .flash{border-radius:0;margin:0 0 16px}
body.ws .empty{border-radius:0}
body.ws .btn{border-radius:0}body.ws .btn:not(.btn-link):not(.btn-outline):not(.btn-accent):not(.btn-danger){background:var(--ws-navy)}
body.ws input[type=text],body.ws input[type=email],body.ws input[type=password],body.ws input[type=tel],body.ws input[type=search],body.ws select,body.ws textarea{border-radius:0;border-color:#d3d9d6}
@media (max-width:1100px){
  .ws-shell{grid-template-columns:84px minmax(0,1fr);background:linear-gradient(90deg,var(--ws-navy) 84px,transparent 84px)}
  .ws-side{padding:16px 10px;align-items:center}.ws-logo{padding:4px}.ws-logo img{height:auto;width:58px}
  .ws-nav a{position:relative;width:58px;grid-template-columns:1fr;justify-items:center;padding:0;font-size:0}.ws-nav a>span{width:34px;height:34px;font-size:10.5px}
  .ws-nav a b{position:absolute;top:0;right:2px;min-width:18px;height:18px;font-size:10px}
  .ws-help,.ws-signout{display:none}.ws-signout-top{display:block}
  .ws-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ws-row.app{grid-template-columns:auto minmax(0,1.4fr) minmax(0,1fr) auto auto}.ws-row.app .c-amt{display:none}
}
@media (max-width:720px){
  .ws-shell{display:block;background:none}
  .ws-side{position:sticky;top:0;z-index:20;height:auto;flex-direction:row;align-items:center;gap:8px;padding:8px 10px;overflow:visible}
  .ws-logo{flex-shrink:0;padding:3px 6px}.ws-logo img{width:auto;height:34px}
  .ws-nav{display:flex;flex:1;margin:0;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ws-nav::-webkit-scrollbar{display:none}
  .ws-nav a{width:auto;min-height:38px;padding:0 10px;font-size:13.5px;grid-template-columns:auto auto;gap:6px;white-space:nowrap}.ws-nav a>span{display:none}.ws-nav a b{position:static}
  .ws-header{position:static;height:auto;padding:10px 14px}.ws-crumb,.ws-user-meta small{display:none}.ws-user-meta strong{max-width:140px}
  .ws-content{width:calc(100% - 28px);padding:22px 0 40px}.ws-foot{padding:14px}
  .ws-title{flex-direction:column;align-items:stretch;gap:14px}.ws-title .actions .ws-btn{flex:1}
  .ws-block{padding:18px 16px}.ws-two{grid-template-columns:1fr;gap:0}
  .ws-stats,.ws-stats.three{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-stats article{min-height:96px;padding:14px}.ws-stats strong{font-size:22px}.ws-stats strong.money{font-size:18px}
  .ws-services{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .ws-attn{grid-template-columns:auto 1fr}.ws-attn>a{grid-column:2}
  .ws-row.app,.ws-row.doc,.ws-row.inv,.ws-row.co{grid-template-columns:auto minmax(0,1fr) auto;row-gap:6px}
  .ws-row .ws-ico{grid-row:span 2;align-self:start}.ws-row .c-meta,.ws-row .c-amt{grid-column:2;text-align:left}.ws-row .c-pill{grid-column:3;grid-row:1}.ws-row .c-go{grid-column:3}.ws-row.app .c-amt{display:grid}
  .ws-steps strong{font-size:12px}.ws-steps small{font-size:11px}
  body.ws .card{padding:18px 16px}
}
@media print{.ws-side,.ws-header,.ws-foot,.btn,.ws-btn,.side{display:none!important}.ws-shell{display:block}.card,.ws-block{border:0;page-break-inside:avoid}}

/* OnTime Group portal additions */
.eyebrow{margin:0 0 6px;color:#8a969c;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ws-brand{display:inline-block;padding:2px 8px;border:1px solid var(--ws-line);border-radius:3px;font-size:11.5px;font-weight:700;color:var(--ws-muted);text-transform:uppercase;letter-spacing:.04em}
.ws-back-site{display:block;margin-top:12px;padding:6px 4px;color:#93a3b1;font-size:13px;text-decoration:none}.ws-back-site:hover{color:#fff;text-decoration:none}
.ws-headline{margin:12px 0 0;padding:10px 14px;background:#eef8f6;border-left:3px solid var(--accent);font-size:14px}
.ws-gc-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:22px}
.ws-gc-steps>div{position:relative;display:grid;gap:3px;padding-right:10px;align-content:start}
.ws-gc-steps>div::before{content:"";position:absolute;left:24px;right:0;top:10px;height:2px;background:#dde2df}
.ws-gc-steps>div.done::before{background:var(--accent)}.ws-gc-steps>div:last-child::before{display:none}
.ws-gc-steps>div>span{position:relative;z-index:1;width:22px;height:22px;border-radius:50%;background:#dce1de;color:transparent;display:grid;place-items:center;font-size:11px;font-weight:900}
.ws-gc-steps>div.done>span,.ws-gc-steps>div.current>span{background:var(--accent);color:#fff}.ws-gc-steps>div.current>span{box-shadow:0 0 0 4px rgba(47,185,168,.28)}
.ws-gc-steps strong{margin-top:6px;font-size:13px;color:var(--ws-ink)}.ws-gc-steps small{color:#8d979c;font-size:12px;overflow-wrap:anywhere}
.ws-cat{margin:18px 0 4px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8a969c}.ws-list>.ws-cat:first-child{margin-top:4px}
.ws-upload{margin-top:18px;padding-top:16px;border-top:1px solid #edf0ee}
body.auth .auth-card h1{font-size:1.5rem;margin:.2rem 0 .5rem}
body.auth .eyebrow{color:var(--accent)}
.security-note span{color:var(--accent)}
@media (max-width:720px){.ws-gc-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-back-site{display:none}}
