
:root{--green:#11733b;--green2:#075526;--green3:#19914d;--bg:#f3f8f4;--card:#fff;--line:#d6e3d9;--text:#18251c;--muted:#617368;--danger:#b42318;--warn:#ad6400;--blue:#2563eb}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
header{background:linear-gradient(90deg,#09110d,#18241c);color:white;padding:13px 20px;position:sticky;top:0;z-index:5;box-shadow:0 4px 18px rgba(0,0,0,.22);border-bottom:1px solid #a77c29}
.headerRow{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1420px;margin:0 auto}.fcLogoMark{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#101914;border:1px solid #8c6b2b;overflow:hidden}.fcLogoMark img{width:100%;height:100%;object-fit:cover}.brand small{font-weight:800;letter-spacing:3px;color:#e7bb54}.brand h1{font-size:24px;margin:3px 0 0}.userPill{background:rgba(255,255,255,.08);border:1px solid rgba(231,187,84,.45);padding:8px 12px;border-radius:999px;font-size:13px}.wrap{max-width:1420px;margin:0 auto;padding:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:15px;box-shadow:0 6px 18px rgba(18,65,30,.06)}
.login{max-width:620px;margin:42px auto}.loginLogo{display:block;width:min(100%,520px);height:auto;margin:0 auto 18px;border-radius:16px;box-shadow:0 10px 28px rgba(0,0,0,.14)}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.c12{grid-column:span 12}.c10{grid-column:span 10}.c9{grid-column:span 9}.c8{grid-column:span 8}.c7{grid-column:span 7}.c6{grid-column:span 6}.c5{grid-column:span 5}.c4{grid-column:span 4}.c3{grid-column:span 3}.c2{grid-column:span 2}.c1{grid-column:span 1}
label{display:block;font-weight:700;margin-bottom:5px;font-size:14px}input,select,textarea{width:100%;border:1px solid #cbd8cf;border-radius:10px;padding:11px 12px;font-size:15px;background:white}textarea{min-height:88px;resize:vertical}.jobselect{font-size:16px;padding:13px;min-width:100%}button{border:0;background:var(--green);color:white;font-weight:700;border-radius:10px;padding:11px 14px;cursor:pointer;font-size:14px;box-shadow:0 2px 6px rgba(17,115,59,.15)}button:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}button.secondary{background:#e7efe9;color:#173c23}button.danger{background:var(--danger)}button.warn{background:#c46d00}.small{padding:7px 9px;font-size:12px}.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.right{margin-left:auto}.muted{color:var(--muted)}.mini{font-size:12px}.hidden{display:none!important}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.quickActions{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:10px;margin:12px 0}.quickAction{border:1px solid var(--line);background:#fbfdfb;border-radius:14px;padding:13px;text-align:left;box-shadow:0 4px 12px rgba(18,65,30,.05)}.quickAction b{display:block;margin-bottom:4px}.quickAction span{font-size:12px;color:var(--muted)}.sectionTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.helpText{background:#f7fbf8;border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--muted);font-size:14px}.emptyState{border:1px dashed #cbd8cf;border-radius:14px;padding:18px;text-align:center;background:#fbfdfb;color:var(--muted)}.tab{background:#e2efe5;color:#143e23;border:1px solid #cfe1d4}.tab.active{background:var(--green);color:white;border-color:var(--green2)}.notice{background:#ecfbf1;border-left:5px solid var(--green);padding:11px 13px;border-radius:10px}.warnbox{background:#fff8e8;border-left-color:var(--warn)}.badbox{background:#fff0ee;border-left-color:var(--danger)}.pill{display:inline-block;border-radius:999px;padding:6px 10px;background:#e8f8ed;border:1px solid #b4e3c2;color:#0c5f32;font-weight:700;font-size:12px}.pill.bad{background:#ffeceb;border-color:#ffb2ad;color:#8e1d16}.pill.warn{background:#fff3dd;border-color:#ffd188;color:#7a4700}.kpi{background:#fbfdfb;border:1px solid var(--line);border-radius:14px;padding:13px}.kpi .num{font-size:24px;font-weight:800;color:var(--green)}.hr{height:1px;background:var(--line);margin:15px 0}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden}th,td{padding:9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:13px;background:#edf7ef}.wide{min-width:1050px}.money{font-weight:800}.linebox{border:1px dashed #cbd8cf;border-radius:12px;padding:11px;margin:9px 0;background:#fbfdfc}.uploadPreview{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.uploadPreview img{width:70px;height:70px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.uploadPreview a{display:inline-block;background:#eef7f0;border:1px solid var(--line);border-radius:10px;padding:7px 9px;color:#143e23;text-decoration:none;font-size:12px}.fileHelp{font-size:12px;color:var(--muted);margin-top:4px}.toast{position:fixed;right:18px;bottom:18px;z-index:20;max-width:430px;background:#143827;color:white;border-radius:14px;padding:14px 16px;box-shadow:0 10px 26px rgba(0,0,0,.22)}.toast.bad{background:#8c1c15}.editPanel{background:#fbfdfb;border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:12px}.bidTotal{font-size:20px;font-weight:800;color:var(--green)}pre{white-space:pre-wrap;background:#0e1f16;color:#e7fff0;padding:12px;border-radius:10px;overflow:auto}
@media(max-width:860px){.quickActions{grid-template-columns:1fr}.wrap{padding:10px}.brand h1{font-size:20px}.userPill{display:none}.c10,.c9,.c8,.c7,.c6,.c5,.c4,.c3,.c2,.c1{grid-column:span 12}.card{padding:14px;border-radius:14px}.tabs{position:sticky;top:71px;background:var(--bg);padding:7px 0;z-index:4}.tab{flex:1;min-width:42%;padding:12px 8px}.wide{min-width:900px}button{padding:12px 13px}.login{margin:20px auto}}

body.login-mode{min-height:100vh;background:
radial-gradient(circle at 50% 5%,rgba(193,142,45,.18),transparent 34%),
linear-gradient(145deg,#080d0a,#121b15 55%,#060a08);color:#f8f5ec}
body.login-mode header{display:none}
body.login-mode .wrap{max-width:none;padding:34px 18px}
body.login-mode #loginView{display:block}
.login{max-width:590px;margin:0 auto;background:linear-gradient(180deg,#151d18,#0f1712);border:1px solid #8b6a2c;border-radius:22px;padding:22px 26px 26px;box-shadow:0 28px 80px rgba(0,0,0,.48)}
.loginLogo{display:block;width:100%;max-width:540px;height:auto;margin:0 auto 18px;border-radius:14px;border:1px solid rgba(229,181,77,.35);box-shadow:0 14px 38px rgba(0,0,0,.35)}
.login h2{margin:4px 0 8px;color:#fff;font-size:28px;text-align:center}
.login>p.muted{text-align:center;color:#bfc9c1;margin:0 0 18px}
.login label{color:#f6e7bf}
.login input{background:#f8faf8;border-color:#d5c08c;color:#111}
.login .notice{background:rgba(229,181,77,.08);border-left-color:#d5a640;color:#e9ece9}
.login #authLoginBtn{background:linear-gradient(135deg,#f1c96b,#b77e1b);color:#16120a;box-shadow:0 5px 16px rgba(198,146,42,.25)}
.login #refreshBtn{background:#222e27;color:#e6e9e7;border:1px solid #536159}
.login #loginStatus{color:#d9c487}
.focusWorkspace{max-width:1260px;margin:0 auto}
.recordList{display:grid;gap:10px}
.recordCard{border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;box-shadow:0 3px 10px rgba(18,65,30,.04)}
.recordCard:hover{border-color:#a9c9b1;box-shadow:0 6px 16px rgba(18,65,30,.08)}
.focusHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.focusHeader h1{margin:8px 0 3px}
.listToolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:12px 0}
.listToolbar>div{min-width:190px;flex:1}
.versionBadge{position:fixed;left:8px;bottom:8px;background:#111a14;color:#e7bb54;border:1px solid #8a692a;padding:5px 9px;border-radius:999px;font:11px Arial;z-index:99999}

.calendarShell{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,.8fr);gap:14px}
.calendarCard{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.calendarToolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px;border-bottom:1px solid var(--line);background:#fbfdfb}
.calendarToolbar h2{margin:0}
.calendarScroll{overflow:auto}
.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(115px,1fr));min-width:805px}
.calendarDow{padding:9px;text-align:center;font-size:12px;font-weight:800;color:var(--muted);background:#f3f7f4;border-bottom:1px solid var(--line)}
.calendarDay{min-height:122px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;cursor:pointer}
.calendarDay:nth-child(7n){border-right:0}
.calendarDay:hover{background:#f7fbf8}
.calendarDay.otherMonth{background:#f7f8f7;color:#99a39c}
.calendarDay.today{box-shadow:inset 0 0 0 2px var(--green)}
.calendarDay.selected{background:#eef8f0}
.calendarDateNumber{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:800;margin-bottom:5px}
.calendarAddHint{font-size:10px;color:var(--muted);font-weight:400}
.calendarEvent{display:block;width:100%;text-align:left;padding:5px 7px;margin:4px 0;border-radius:8px;background:#eaf5ed;color:#123b20;border:1px solid #c8dfce;box-shadow:none;font-size:11px;line-height:1.25;white-space:normal}
.calendarEvent:hover{background:#dff0e4}
.calendarEvent.cancelled{text-decoration:line-through;opacity:.62;background:#f4eeee;border-color:#dfc8c8;color:#704141}
.calendarEvent.completed{background:#eef2f8;border-color:#cad5e7;color:#294b78}
.calendarEventTime{font-weight:800;margin-right:4px}
.calendarAgenda{padding:14px}
.calendarAgenda h3{margin-top:0}
.calendarAgendaItem{border:1px solid var(--line);border-radius:12px;padding:11px;margin:8px 0;background:#fbfdfb}
.calendarAgendaItem b{display:block;margin-bottom:4px}
.calendarEditor{margin-top:14px;border:1px solid #c5dacb;background:#fbfdfb;border-radius:16px;padding:15px}
.calendarLegend{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.calendarLegend span{font-size:11px;padding:4px 8px;border-radius:999px;background:#eef5ef;border:1px solid var(--line)}
@media(max-width:980px){.calendarShell{grid-template-columns:1fr}.calendarAgenda{order:-1}}

body.public-mode{background:#070b09;color:#f6f4ec}
body.public-mode>header{display:none}
body.public-mode>.wrap{max-width:none;padding:0}
body.public-mode .versionBadge{background:rgba(9,15,11,.88)}
.publicSite{min-height:100vh;background:
radial-gradient(circle at 78% 8%,rgba(209,155,50,.16),transparent 30%),
radial-gradient(circle at 10% 28%,rgba(37,107,62,.18),transparent 32%),
linear-gradient(150deg,#070b09 0%,#111a14 52%,#080c0a 100%);color:#f8f7f1}
.publicNav{position:sticky;top:0;z-index:40;background:rgba(7,11,9,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(226,181,81,.22)}
.publicNavInner{max-width:1220px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.publicBrand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff}
.publicBrand img{width:46px;height:46px;border-radius:12px;border:1px solid rgba(226,181,81,.42)}
.publicBrand strong{display:block;font-size:20px;letter-spacing:.4px}
.publicBrand span{display:block;color:#d6af58;font-size:10px;letter-spacing:2.4px;font-weight:800}
.publicLinks{display:flex;align-items:center;gap:18px}
.publicLinks a{color:#dbe1dc;text-decoration:none;font-size:13px;font-weight:700}
.publicLinks a:hover{color:#edc768}
.publicButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:11px 16px;text-decoration:none;font-weight:800;border:1px solid rgba(231,187,84,.35);background:linear-gradient(135deg,#edc86c,#ad7417);color:#161108;box-shadow:0 8px 24px rgba(186,129,28,.18)}
.publicButton.secondary{background:rgba(255,255,255,.05);color:#f6f4ec;border-color:rgba(255,255,255,.18);box-shadow:none}
.publicButton:hover{filter:brightness(1.04);transform:translateY(-1px)}
.publicHero{max-width:1220px;margin:0 auto;padding:88px 20px 72px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);gap:56px;align-items:center}
.publicEyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:rgba(226,181,81,.08);border:1px solid rgba(226,181,81,.28);color:#edc768;font-size:12px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase}
.publicHero h1{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-3px;margin:22px 0 20px;max-width:780px}
.publicHero h1 span{color:#e7ba58}
.publicHero p{font-size:19px;line-height:1.7;color:#bcc8c0;max-width:680px}
.publicHeroActions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.publicTrust{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
.publicTrust span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:#d8dfda;font-size:12px;font-weight:700}
.heroVisual{position:relative;min-height:480px}
.heroGlow{position:absolute;inset:12% 3% 3%;background:radial-gradient(circle,rgba(218,164,57,.25),transparent 63%);filter:blur(22px)}
.heroLogoCard{position:relative;background:linear-gradient(160deg,rgba(25,35,28,.96),rgba(8,13,10,.98));border:1px solid rgba(226,181,81,.35);border-radius:26px;padding:22px;box-shadow:0 36px 90px rgba(0,0,0,.52);overflow:hidden}
.heroLogoCard:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.04) 45%,transparent 80%);pointer-events:none}
.heroLogoCard>img{width:100%;display:block;border-radius:17px;border:1px solid rgba(255,255,255,.09)}
.heroMiniGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:13px}
.heroMini{padding:13px;border-radius:13px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.heroMini b{display:block;color:#f4d488;margin-bottom:4px}
.heroMini span{font-size:12px;color:#aebbb3;line-height:1.4}
.publicSection{padding:82px 20px}
.publicSection.alt{background:rgba(255,255,255,.025);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.publicInner{max-width:1220px;margin:0 auto}
.publicSectionHead{max-width:780px;margin-bottom:34px}
.publicKicker{color:#e7ba58;font-size:12px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.publicSection h2{font-size:clamp(32px,4.2vw,52px);line-height:1.05;letter-spacing:-1.8px;margin:10px 0 14px}
.publicSectionHead p,.publicCopy{font-size:17px;line-height:1.72;color:#afbbb3}
.serviceGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.serviceCard{position:relative;overflow:hidden;min-height:260px;padding:25px;border-radius:20px;background:linear-gradient(150deg,rgba(26,37,30,.96),rgba(12,18,14,.98));border:1px solid rgba(255,255,255,.09);box-shadow:0 18px 42px rgba(0,0,0,.2)}
.serviceCard:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-85px;bottom:-100px;background:radial-gradient(circle,rgba(225,174,67,.18),transparent 67%)}
.serviceIcon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:rgba(225,174,67,.1);border:1px solid rgba(225,174,67,.28);font-size:23px}
.serviceCard h3{font-size:24px;margin:18px 0 10px}
.serviceCard p{color:#adbbb2;line-height:1.65}
.serviceCard ul{padding-left:18px;color:#d9dfdb;line-height:1.8;font-size:14px}
.compareWrap{overflow:auto;border:1px solid rgba(255,255,255,.09);border-radius:18px}
.compareTable{min-width:820px;background:rgba(10,15,12,.55);color:#e8ece9}
.compareTable th{background:#17231b;color:#edc768;border-color:rgba(255,255,255,.08);padding:14px}
.compareTable td{border-color:rgba(255,255,255,.07);padding:14px;color:#c0cac3}
.compareTable td:first-child{color:#fff;font-weight:800}
.compareGood{color:#83d49c!important;font-weight:800}
.localGrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}
.localPanel{padding:28px;border-radius:22px;background:linear-gradient(145deg,#18251d,#0d1510);border:1px solid rgba(226,181,81,.28)}
.localPanel img{width:100%;border-radius:16px;border:1px solid rgba(255,255,255,.08)}
.localFacts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}
.localFact{padding:14px;border-radius:13px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.localFact b{display:block;color:#edc768;margin-bottom:4px}
.localFact span{font-size:12px;color:#aebbb3}
.processGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.processStep{padding:22px;border-radius:18px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035)}
.processNumber{font-size:12px;color:#edc768;font-weight:900;letter-spacing:1.5px}
.processStep h3{margin:12px 0 8px}
.processStep p{color:#acb8b0;line-height:1.6;font-size:14px}
.faqGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.faqItem{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);border-radius:16px;padding:19px}
.faqItem h3{margin:0 0 8px;font-size:17px}
.faqItem p{margin:0;color:#adb9b1;line-height:1.65;font-size:14px}
.contactGrid{display:grid;grid-template-columns:.82fr 1.18fr;gap:24px;align-items:start}
.contactIntro{padding:28px;border-radius:20px;background:linear-gradient(145deg,#1b291f,#0c130f);border:1px solid rgba(226,181,81,.25)}
.contactIntro h2{margin-top:0}
.contactForm{padding:24px;border-radius:20px;background:#f8faf8;color:#172019;border:1px solid #d5ded7;box-shadow:0 24px 70px rgba(0,0,0,.27)}
.contactForm label{color:#263329}
.contactForm input,.contactForm select,.contactForm textarea{background:#fff;border-color:#cbd7ce}
.contactForm button{background:linear-gradient(135deg,#e9c466,#a96f14);color:#171207}
.contactForm .formStatus{margin-top:12px;color:#476151;font-size:13px}
.publicFooter{border-top:1px solid rgba(255,255,255,.08);padding:34px 20px 54px;background:#060a08}
.publicFooterInner{max-width:1220px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#8f9c94;font-size:13px}
.publicFooterBrand{display:flex;align-items:center;gap:10px;color:#fff}
.publicFooterBrand img{width:38px;height:38px;border-radius:10px}
.loginOverlay{position:fixed;inset:0;z-index:100;background:rgba(2,5,3,.82);backdrop-filter:blur(12px);display:grid;place-items:center;padding:18px;overflow:auto}
.loginOverlay .login{width:min(100%,590px);margin:auto}
.loginClose{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18);font-size:19px}
.loginOverlay.hidden{display:none!important}
.publicHoneypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:980px){
  .publicLinks a:not(.publicButton){display:none}
  .publicHero{grid-template-columns:1fr;padding-top:58px}
  .heroVisual{min-height:auto}
  .serviceGrid,.localGrid,.contactGrid{grid-template-columns:1fr}
  .processGrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .publicNavInner{padding:10px 13px}
  .publicBrand strong{font-size:17px}
  .publicBrand span{font-size:9px}
  .publicHero{padding:44px 15px 56px}
  .publicHero h1{letter-spacing:-2px}
  .publicSection{padding:60px 15px}
  .serviceGrid,.faqGrid,.processGrid,.localFacts{grid-template-columns:1fr}
  .publicHeroActions .publicButton{width:100%}
  .publicLinks .publicButton{padding:9px 11px;font-size:12px}
}

body.public-mode .login{max-width:590px}
body.public-mode #loginView{display:block}
body.public-mode .loginOverlay .login{background:linear-gradient(180deg,#151d18,#0f1712);border:1px solid #8b6a2c;color:#f8f5ec}
body.public-mode .loginOverlay .login label{color:#f6e7bf}
body.public-mode .loginOverlay .login input{background:#f8faf8;color:#111}


.workspaceChooser{position:fixed;inset:0;z-index:130;background:rgba(3,7,5,.9);backdrop-filter:blur(15px);display:grid;place-items:center;padding:20px;overflow:auto}
.workspaceChooser.hidden{display:none!important}
.workspaceChooserCard{width:min(920px,100%);background:linear-gradient(155deg,#17231b,#0b120e);border:1px solid rgba(231,187,84,.4);border-radius:24px;padding:24px;box-shadow:0 34px 100px rgba(0,0,0,.58);color:#f8f5ed}
.workspaceChooserCard h2{font-size:31px;margin:0 0 7px}
.workspaceChooserCard>p{color:#b9c5bd;margin:0 0 18px}
.workspaceCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:13px}
.workspaceChoice{display:block;width:100%;text-align:left;padding:18px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.11);color:#fff;box-shadow:none}
.workspaceChoice:hover{background:rgba(231,187,84,.09);border-color:rgba(231,187,84,.45);transform:translateY(-1px)}
.workspaceChoice b{display:block;font-size:19px;margin-bottom:5px}
.workspaceChoice span{display:block;color:#b7c2ba;font-size:12px;line-height:1.5}
.workspaceChoice .workspaceType{color:#e6bb59;text-transform:uppercase;font-size:10px;letter-spacing:1.4px;font-weight:900;margin-bottom:7px}
.itSupportBanner{margin:0 0 14px;padding:11px 14px;border-radius:13px;border:1px solid #d0b05d;background:#fff8df;color:#4c3909;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.itSupportBanner.hidden{display:none!important}
.itSupportBanner strong{display:block}
.itSupportBanner span{font-size:12px}
.expenseSummaryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin:12px 0}
.expenseReceiptBox{padding:12px;border:1px dashed #b9cbbb;border-radius:12px;background:#f7faf7}
@media(max-width:650px){.workspaceChooserCard{padding:17px}.workspaceChooserCard h2{font-size:25px}}


.farrierScheduleApp{display:grid;gap:14px}
.scheduleHero{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:17px;border-radius:18px;background:linear-gradient(145deg,#18261d,#0d1611);border:1px solid rgba(197,145,52,.3);color:#f8f5ec}
.scheduleHero h2{margin:0 0 5px;font-size:28px}.scheduleHero p{margin:0;color:#b8c4bc}
.scheduleHeroActions{display:flex;gap:8px;flex-wrap:wrap}
.scheduleViewSwitch{display:flex;gap:5px;padding:5px;border-radius:13px;background:#eef3ef;border:1px solid var(--line);overflow:auto}
.scheduleViewButton{white-space:nowrap;background:transparent;color:#334039;box-shadow:none;border:1px solid transparent;padding:8px 13px}
.scheduleViewButton.active{background:#173f25;color:#fff;border-color:#173f25}
.scheduleControlBar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff}
.scheduleControlBar .controlGroup{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.scheduleControlBar label{margin:0}
.scheduleControlBar input,.scheduleControlBar select{min-width:150px}
.scheduleMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.scheduleMetric{padding:14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbf8)}
.scheduleMetric .metricValue{font-size:24px;font-weight:900;line-height:1.05;margin-top:4px}
.scheduleMetric .metricLabel{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:800}
.weekStrip{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.weekDayButton{padding:10px 7px;border-radius:13px;background:#fff;color:#213027;border:1px solid var(--line);box-shadow:none;text-align:center}
.weekDayButton:hover{background:#f1f7f2}.weekDayButton.active{background:#183f26;color:#fff;border-color:#183f26}
.weekDayButton.today{box-shadow:inset 0 0 0 2px #c39335}
.weekDayButton .weekday{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:800;opacity:.75}
.weekDayButton .daynum{display:block;font-size:21px;font-weight:900;line-height:1.1}
.weekDayButton .visitCount{display:inline-block;margin-top:4px;padding:2px 6px;border-radius:999px;background:rgba(17,83,38,.11);font-size:10px;font-weight:800}
.weekDayButton.active .visitCount{background:rgba(255,255,255,.18)}
.scheduleColumns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:14px;align-items:start}
.schedulePanel{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.schedulePanelHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:13px 15px;border-bottom:1px solid var(--line);background:#f8fbf8}
.schedulePanelHeader h3{margin:0}.visitStack{display:grid;gap:10px;padding:13px}
.visitCard{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:13px;align-items:start;padding:14px;border:1px solid var(--line);border-left:5px solid #2d7542;border-radius:15px;background:#fff}
.visitCard.completed{border-left-color:#446eac;background:#fbfcff}.visitCard.cancelled{border-left-color:#9b5050;background:#fffafa;opacity:.75}
.visitTime{padding:9px 7px;border-radius:12px;background:#eff5f0;text-align:center}.visitTime b{display:block;font-size:17px}.visitTime span{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.visitMain h3{margin:0 0 4px;font-size:19px}.visitMeta{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}
.visitMeta span{padding:4px 7px;border-radius:999px;background:#f0f4f1;border:1px solid #d9e2dc;font-size:10px;font-weight:800;color:#425148}
.visitLocation{font-size:12px;color:#5a675f;margin-top:6px}
.visitMoney{display:grid;gap:5px;min-width:120px;text-align:right}.visitMoney b{font-size:17px}.visitMoney span{font-size:10px;color:var(--muted)}
.visitActions{grid-column:2/4;display:flex;gap:7px;flex-wrap:wrap}.visitActions a{text-decoration:none}
.statusChip{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}
.statusChip.scheduled{background:#e7f5eb;color:#1e6834}.statusChip.completed{background:#e8eef8;color:#315a91}.statusChip.cancelled{background:#f6e7e7;color:#844141}
.upcomingGroup{padding:0 13px 13px}.upcomingGroupTitle{position:sticky;top:0;z-index:2;padding:9px 0 7px;background:#fff;font-size:12px;font-weight:900;color:#4a5a50;text-transform:uppercase;letter-spacing:.7px}
.monthScheduleWrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(285px,.65fr);gap:14px}.monthScheduleWrap .calendarGrid{min-width:760px}.monthScheduleWrap .calendarDay{min-height:105px}.monthScheduleWrap .calendarEvent{font-size:10px}
.editorShell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:14px}
.editorMain,.editorSummary{border:1px solid var(--line);border-radius:15px;background:#fff;padding:14px}
.editorSummary{position:sticky;top:12px;height:max-content}.editorSummary h3{margin-top:0}
.editorStat{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.editorStat:last-child{border-bottom:0}
.editorSection{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid var(--line)}.editorSection:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.editorSectionTitle{font-weight:900;margin-bottom:9px}
.conflictBox{margin-top:10px;padding:10px;border-radius:11px;background:#fff7dc;border:1px solid #dac277;color:#5b470c;font-size:12px}
.conflictBox.clear{background:#edf8ef;border-color:#bad8c0;color:#245c31}
.recurringBox{padding:12px;border-radius:13px;background:#f4f7f4;border:1px solid var(--line)}
.editorStickyActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.scheduleEmpty{padding:26px;text-align:center;color:var(--muted)}.scheduleEmpty b{display:block;color:#37463d;margin-bottom:5px}
.scheduleMobileFab{display:none;position:fixed;right:18px;bottom:82px;z-index:30;width:56px;height:56px;border-radius:50%;font-size:25px;box-shadow:0 12px 32px rgba(0,0,0,.3)}
@media(max-width:980px){.scheduleMetrics{grid-template-columns:repeat(2,1fr)}.scheduleColumns,.monthScheduleWrap,.editorShell{grid-template-columns:1fr}.editorSummary{position:static}}
@media(max-width:720px){
.scheduleHero{padding:14px}.scheduleHero h2{font-size:23px}.scheduleHeroActions{width:100%}.scheduleHeroActions button{flex:1}
.scheduleControlBar{align-items:stretch}.scheduleControlBar .controlGroup{width:100%}.scheduleControlBar .controlGroup>*{flex:1}
.scheduleViewSwitch{width:100%}.scheduleViewButton{flex:1}.weekStrip{display:flex;overflow:auto;padding-bottom:4px}.weekDayButton{min-width:74px}
.visitCard{grid-template-columns:76px minmax(0,1fr);padding:11px}.visitMoney{grid-column:1/3;display:flex;justify-content:space-between;text-align:left;padding-top:8px;border-top:1px solid var(--line)}
.visitActions{grid-column:1/3}.visitActions button,.visitActions a{flex:1}.visitActions .small{width:100%}.scheduleMetrics{grid-template-columns:1fr 1fr}
.monthScheduleWrap .calendarGrid{min-width:700px}.calendarAgenda{order:0}
.editorStickyActions{position:sticky;bottom:0;background:#fff;padding:10px;margin:12px -14px -14px;border-top:1px solid var(--line);z-index:4}.editorStickyActions button{flex:1}
.scheduleMobileFab{display:grid;place-items:center}}
@media(max-width:460px){.scheduleMetrics{grid-template-columns:1fr}.scheduleControlBar input,.scheduleControlBar select{min-width:0;width:100%}}



[data-tab="pto"], #tab-pto, button[onclick*="pto"], a[href*="pto"], .pto-hidden{display:none!important}

/* Smiths Horseshoeing GPS mileage */
.mileageButton{background:#175c8f}.mileageButton.active{background:#a05b00}
.mileageActiveCard{margin:14px 0;padding:18px;border-radius:18px;border:2px solid #257348;background:linear-gradient(145deg,#f7fff9,#edf8f0);box-shadow:0 10px 28px rgba(18,91,46,.12)}
.mileageActiveHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.mileageActiveHeader h2{margin:3px 0 4px}.mileageActiveHeader p{margin:0;color:var(--muted)}
.mileageEyebrow{text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:900;color:#17643a}.mileageLivePill{padding:7px 11px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.7px}.mileageLivePill.live{background:#dbf7e3;color:#0a6a31;border:1px solid #9edbb0}.mileageLivePill.paused{background:#fff0d8;color:#8b5200;border:1px solid #e0bd78}
.mileageProgress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.mileageProgress>div{position:relative;display:flex;align-items:center;gap:7px;padding:9px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:800}.mileageProgress b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#dfe7e1;color:#526158}.mileageProgress .done{border-color:#8ac79b;background:#eefaf1}.mileageProgress .done b{background:#1b7b41;color:#fff}
.mileageMetricGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:13px}.mileageMetricGrid>div{padding:11px;border-radius:12px;background:#fff;border:1px solid var(--line)}.mileageMetricGrid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:800}.mileageMetricGrid b{display:block;margin-top:4px;font-size:17px}.mileageActions{margin-top:13px}.mileageMapLink{display:inline-flex;align-items:center;text-decoration:none;background:#e7efe9;color:#173c23;border-radius:10px;padding:10px 13px;font-weight:700}
.mileageSummaryGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.mileageHistoryHeader{margin-top:22px;align-items:end}.mileageHistoryHeader h3{margin-bottom:3px}.mileageHistoryList{display:grid;gap:10px}.mileageHistoryCard{border:1px solid var(--line);border-radius:15px;padding:14px;background:#fff;box-shadow:0 4px 12px rgba(18,65,30,.05)}.mileageHistoryTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.mileageHistoryTop b{display:block;font-size:17px}.mileageHistoryTop span{display:block;margin-top:3px;font-size:12px;color:var(--muted)}.mileageHistoryTop strong{font-size:22px;color:var(--green)}.mileageHistoryStats{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.mileageHistoryStats span{padding:5px 8px;border-radius:999px;background:#f0f5f1;border:1px solid #d7e2da;font-size:11px}.mileageNotesRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:10px 0}.mileageNotesRow textarea{min-height:54px}
@media(max-width:900px){.mileageMetricGrid{grid-template-columns:repeat(2,1fr)}.mileageSummaryGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.mileageProgress{grid-template-columns:repeat(2,1fr)}.mileageMetricGrid,.mileageSummaryGrid{grid-template-columns:1fr 1fr}.mileageActions>*{flex:1}.mileageNotesRow{grid-template-columns:1fr}.mileageHistoryHeader .row{width:100%}.mileageHistoryHeader label{flex:1}.mileageHistoryTop strong{font-size:19px}}
@media(max-width:420px){.mileageMetricGrid,.mileageSummaryGrid{grid-template-columns:1fr}}

/* v4.1.4 — Smiths Horseshoeing customer contact shortcuts */
.customerNameButton{background:transparent;color:var(--green);padding:0;box-shadow:none;text-align:left;font-size:14px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.customerNameButton:hover{filter:none;color:var(--green2)}
.customerContactCell{min-width:265px;display:grid;gap:6px}
.customerPhoneLink,.customerAddressLink,.visitLocationLink{color:#174e2b;text-decoration:none;font-weight:700;line-height:1.35}
.customerAddressLink{font-size:12px;font-weight:600;max-width:360px}
.customerPhoneLink:hover,.customerAddressLink:hover,.visitLocationLink:hover{text-decoration:underline}
.customerQuickLinks{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.customerQuickLinks.compact{margin-top:2px;gap:5px}
.customerContactAction{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:var(--green);color:white;text-decoration:none;font-weight:800;border-radius:10px;padding:9px 11px;font-size:13px;box-shadow:0 2px 6px rgba(17,115,59,.15);white-space:nowrap}
.customerContactAction:hover{filter:brightness(.97)}
.customerContactAction.text{background:#2766a3}
.customerContactAction.map{background:#76551c}
.customerQuickLinks.compact .customerContactAction{padding:6px 8px;font-size:11px;border-radius:8px}
.customerContactPanel{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#eef8f0;border:1px solid #c4ddca;border-left:5px solid var(--green);border-radius:14px;padding:13px 14px;margin:0 0 12px}
.customerContactSummary{display:grid;gap:7px;min-width:260px;flex:1}
.customerContactSummary>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;align-items:start}
.customerContactSummary span{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.35px}
.customerContactSummary a{color:#174e2b;font-weight:800;text-decoration:none;overflow-wrap:anywhere}
.customerContactSummary a:hover{text-decoration:underline}
.visitLocationLink{display:block;font-size:12px;color:#5a675f;margin-top:6px}
.visitActions .customerContactAction{flex:0 1 auto}
@media(max-width:720px){
  .customerContactPanel{align-items:stretch}
  .customerContactSummary{min-width:0;width:100%}
  .customerContactSummary>div{grid-template-columns:1fr}
  .customerQuickLinks{width:100%}
  .customerQuickLinks .customerContactAction,.visitActions .customerContactAction{flex:1}
  .customerContactCell{min-width:235px}
}

/* v4.1.6 workspace polish and accessibility */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid rgba(37,99,235,.55);
  outline-offset:3px;
}

body.workspace-boswell{
  --green:#146b37;
  --green2:#0b4c26;
  --green3:#238a4a;
  --bg:#edf7ef;
  --card:#ffffff;
  --line:#bfd8c5;
  --text:#16301e;
  --muted:#5b7162;
}
body.workspace-boswell header{
  background:linear-gradient(90deg,#062d17 0%,#0c4b27 45%,#146b37 100%);
  border-bottom:2px solid #67b77e;
  box-shadow:0 5px 20px rgba(8,67,31,.28);
}
body.workspace-boswell .fcLogoMark{
  background:#0a3d20;
  border-color:#76c38c;
}
body.workspace-boswell .brand small{
  color:#bce9c8;
}
body.workspace-boswell .userPill{
  background:rgba(255,255,255,.10);
  border-color:rgba(190,235,201,.58);
}
body.workspace-boswell .card{
  border-color:#c7ddcc;
  box-shadow:0 7px 20px rgba(18,91,42,.08);
}
body.workspace-boswell .tab{
  background:#dceee1;
  border-color:#b9d6c0;
  color:#123d22;
}
body.workspace-boswell .tab.active{
  background:linear-gradient(135deg,#0d5a2d,#198043);
  border-color:#0b4c26;
}
body.workspace-boswell .quickAction{
  border-left:4px solid #3a9b59;
  background:linear-gradient(180deg,#ffffff,#f5fbf6);
}
body.workspace-boswell .notice{
  background:#e6f5e9;
}
body.workspace-boswell th{
  background:#e2f1e6;
}
body.workspace-boswell .kpi{
  background:linear-gradient(180deg,#ffffff,#f2faf4);
}
body.workspace-boswell .customerContactPanel{
  background:#e7f6ea;
  border-color:#b7d9bf;
}

/* v4.1.8 mobile layout hardening */
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;padding:0}
img,svg,video{max-width:100%;height:auto}
.wrap,.card,.grid>*,.headerRow>*,.sectionTitle>*,.row>*,.quickActions>*,.scheduleColumns>*,.editorShell>*,.customerContactPanel>*{min-width:0}
h1,h2,h3,p,a,span,strong,b,small,td,th,label{overflow-wrap:anywhere}
.scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.toast{word-break:break-word}
@media(max-width:860px){
  header{padding:9px 12px}.headerRow{gap:9px}.fcLogoMark{width:44px;height:44px;flex:0 0 44px}.brand{min-width:0}.brand small{font-size:8px;letter-spacing:1.6px}.brand h1{font-size:18px;line-height:1.12;overflow-wrap:anywhere}
  .wrap{padding:9px}.card{padding:13px;margin-bottom:11px}
  input,select,textarea{font-size:16px}
  .tabs{top:62px;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:7px 0 9px;scrollbar-width:thin}.tab{flex:0 0 auto;min-width:max-content;padding:11px 13px;white-space:nowrap}
  .scroll{margin-inline:-13px;padding-inline:13px}
  .toast{left:10px;right:10px;bottom:10px;max-width:none}
  .login{padding:18px 15px;border-radius:18px}.loginLogo{max-height:190px;object-fit:contain;margin-bottom:14px}.login h2{font-size:24px}
  .customerContactCell{min-width:220px}
}
@media(max-width:560px){
  .headerRow{align-items:center}.brand small{display:none}.brand h1{font-size:17px}
  .wrap{padding:7px}.card{padding:12px;border-radius:13px}
  .quickAction{padding:12px}
  .sectionTitle{display:grid;grid-template-columns:1fr}.sectionTitle .row{width:100%}.sectionTitle .row>button,.sectionTitle .row>a{flex:1}
  .customerContactPanel{padding:11px}.customerQuickLinks{display:grid;grid-template-columns:1fr}.customerQuickLinks .customerContactAction{width:100%}
  .mileageActiveCard{padding:13px}.mileageProgress{grid-template-columns:1fr 1fr}
  .workspaceChooser{padding:10px}.workspaceChooserCard{padding:15px;border-radius:18px}.workspaceCards{grid-template-columns:1fr}
  .loginOverlay{padding:10px}.loginOverlay .login{width:100%}
}
@media(max-width:380px){
  .fcLogoMark{width:40px;height:40px;flex-basis:40px}.brand h1{font-size:15px}
  .tab{padding:10px 11px}
  .card{padding:10px}
  .mileageProgress{grid-template-columns:1fr}
}
