:root{
  --workspace-red:#c5050c;
  --workspace-red-dark:#a00000;
  --workspace-ink:#171717;
  --workspace-muted:#6c6d70;
  --workspace-line:#dedede;
  --workspace-surface:#fff;
  --workspace-soft:#f7f7f6;
  --header-height:64px;
  --dock-height:82px;
  --profile-width:294px;
  --preview-width:430px;
}

html,body{height:100%;background:var(--workspace-surface);font-family:'Gotham','Helvetica Neue',Arial,sans-serif;overflow:hidden;}
button,input,select,textarea{font:inherit;}
button{cursor:pointer;}
.material-symbols-outlined{font-size:21px;line-height:1;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;}

#toolbar{display:none!important;}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}

.visits-page{display:none;height:calc(100vh - var(--header-height));overflow:auto;background:#f7f7f6;}
body.view-visits .visits-page{display:block;}
body.view-visits .app-main,body.view-visits .action-dock{display:none;}
body.view-visits #sugMenu{display:none!important;}
body.view-editor .visits-page{display:none;}
.visits-shell{width:min(1320px,100%);margin:0 auto;padding:48px 42px 80px;}
.visits-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:34px;}
.visits-kicker{margin:0 0 10px!important;color:var(--workspace-red-dark)!important;font-size:11px!important;font-weight:850!important;letter-spacing:.1em!important;text-transform:uppercase;}
.visits-hero h1{margin:0;color:#141416;font-family:'Gotham Ultra','Anton',Impact,sans-serif;font-size:48px;line-height:1;text-transform:uppercase;letter-spacing:-.02em;}
.visits-hero p{margin:12px 0 0;color:#6d6e72;font-size:15px;}
.visits-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.visits-hero-actions button,.icon-text-button{height:42px;border-radius:7px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;white-space:nowrap;}
.visits-secondary,.icon-text-button{border:1px solid #d7d7d8;background:#fff;color:#27272a;}
.visits-primary{border:1px solid var(--workspace-red);background:var(--workspace-red);color:#fff;}
.visits-hero-actions .material-symbols-outlined,.icon-text-button .material-symbols-outlined{font-size:19px;}
.visits-page .lib-health{height:42px;padding:0 13px;background:#fff;border-color:#dedede;font-size:12px;}
.visits-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 0 42px;}
.visits-page .lib-stat{min-height:112px;padding:20px 22px;border:1px solid #e2e2e2;border-radius:10px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;}
.visits-page .lib-stat .num{font-size:32px;line-height:1;color:#18181a;}
.visits-page .lib-stat .lab{margin-top:16px;font-size:13px;color:#77787c;}
.visits-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px;}
.visits-section-head h2{margin:0;font-size:22px;color:#18181a;}
.visits-section-head p{margin:5px 0 0;color:#77787c;font-size:13px;}
.visits-controls{display:grid;grid-template-columns:minmax(260px,1fr) 190px 160px 170px auto;gap:10px;margin:0 0 18px;}
.visits-search{height:46px;border:1px solid #d4d4d5;border-radius:8px;background:#fff;display:flex;align-items:center;gap:9px;padding:0 13px;}
.visits-search .material-symbols-outlined{font-size:20px;color:#77787c;}
.visits-page .lib-controls .visits-search input{min-width:0;width:100%;height:100%;border:0;border-radius:0;padding:0;background:transparent;outline:0;font-size:14px;}
.visits-page .lib-controls select{height:46px;border:1px solid #d4d4d5;border-radius:8px;background:#fff;padding:0 36px 0 13px;font-size:13px;font-weight:700;color:#29292c;}
.visits-page .lib-controls>.icon-text-button{height:46px;margin:0;font-size:13px;}
.visits-list{display:flex;flex-direction:column;gap:10px;}
.visits-page .lib-row{margin:0;padding:22px 24px;border:1px solid #e0e0e1;border-radius:10px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.02);}
.visits-page .lib-row:hover{border-color:#c8c8ca;box-shadow:0 4px 16px rgba(0,0,0,.045);}
.visits-page .lib-row.cur{border-color:#e4b8ba;background:#fffafa;}
.visits-page .lib-row .nm{font-size:18px;gap:7px;}
.visits-page .lib-row .visit{font-size:14px;margin-top:7px;color:#48484b;}
.visits-page .lib-metrics{margin-top:9px;font-size:12px;color:#696a6e;}
.visits-page .lib-row .sub{margin-top:6px;font-size:12px;color:#88898d;}
.visits-page .lib-row .acts{gap:8px;}
.visits-page .lib-row .acts button{height:38px;padding:0 14px;border-radius:7px;background:#fff;border-color:#d2d2d3;font-size:12px;font-weight:800;}
.visits-page .lib-row .acts button.go{background:var(--workspace-red);border-color:var(--workspace-red);}
.visits-page .lib-row .acts button.danger{background:#fffafa;}
.visits-page .vhist{margin:0;padding:12px 18px;background:#fff;border:1px solid #e0e0e1;border-top:0;border-radius:0 0 10px 10px;}
.visits-page .lib-empty{padding:46px 24px;border-color:#d9d9da;background:#fff;}

.app-header{height:var(--header-height);display:flex;align-items:center;border-bottom:1px solid #d9d9d9;background:#fff;padding:0 24px;gap:28px;position:relative;z-index:60;}
.brand-mark{width:72px;height:50px;display:flex;align-items:flex-start;justify-content:center;border-right:1px solid #dedede;padding-right:20px;overflow:hidden;position:relative;}
.brand-mark img{position:absolute;top:0;left:calc(50% - 10px);width:300px;height:auto;max-width:none;transform:translateX(-50%);display:block;}
.primary-nav{height:100%;display:flex;align-items:stretch;gap:28px;}
.primary-nav button{position:relative;border:0;background:transparent;padding:0 4px;color:#27272a;font-weight:700;font-size:15px;}
.primary-nav button:hover{color:var(--workspace-red-dark);}
.primary-nav button.active{color:var(--workspace-red-dark);}
.primary-nav button.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--workspace-red);}
.header-spacer{flex:1;}
.header-date{display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;font-weight:650;color:#28282b;padding:10px 4px;}
.header-date .chevron{font-size:18px;color:#707176;}
.account-avatar{width:38px;height:38px;border-radius:999px;border:1px solid #ddd;background:#f4f4f3;color:#2c2c2e;font-weight:800;}

.app-main{height:calc(100vh - var(--header-height) - var(--dock-height));display:grid;grid-template-columns:var(--profile-width) minmax(520px,1fr) var(--preview-width);background:#fff;}
.profile-pane,.builder-pane,.preview-pane{min-width:0;overflow:auto;}
.profile-pane{border-right:1px solid var(--workspace-line);padding:42px 28px;background:#fff;}
.back-link{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--workspace-red-dark);font-weight:750;padding:0;margin:0 0 50px;}
.back-link .material-symbols-outlined{font-size:19px;}
.profile-identity{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.visit-type{border:1px solid #f0d1d2;border-radius:999px;background:#fff6f6;color:var(--workspace-red-dark);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;padding:4px 8px;}
.profile-name{font-family:'Gotham Ultra','Anton',Impact,sans-serif;font-size:32px;line-height:1;text-transform:uppercase;color:#111;max-width:100%;overflow-wrap:anywhere;}
.profile-name:focus,.profile-field [contenteditable]:focus{outline:2px solid rgba(197,5,12,.35);outline-offset:3px;border-radius:2px;}
.profile-date{display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;color:#66676b;padding:4px 0;font-size:14px;}
.profile-date .material-symbols-outlined{font-size:19px;}
.profile-divider{height:1px;background:#d9d9d9;margin:32px 0;}
.recruit-info h2{margin:0 0 22px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#38383b;}
.profile-field{display:flex;align-items:center;gap:12px;margin:0 0 19px;color:#66676b;font-size:14px;}
.profile-field .material-symbols-outlined{font-size:21px;color:#68696d;}

.builder-pane{padding:38px 42px 64px;background:#fff;}
.workspace-day{max-width:820px;margin:0 auto 34px;}
.workspace-day-heading{display:flex;align-items:center;gap:14px;margin:0 0 16px;color:var(--workspace-red-dark);position:relative;}
.workspace-day-heading [contenteditable]{font-family:'Anton',sans-serif;font-size:24px;letter-spacing:.025em;text-transform:uppercase;}
.workspace-day-heading input{position:absolute;inset:0 auto auto 0;width:100%;height:32px;opacity:.01;border:0;padding:0;cursor:pointer;}
.workspace-events{position:relative;}
.workspace-events::before{content:"";position:absolute;left:164px;top:48px;bottom:48px;width:1px;background:#dedede;}
.workspace-event{position:relative;display:grid;grid-template-columns:32px 100px 24px minmax(0,1fr) 34px 34px;column-gap:12px;align-items:start;min-height:120px;padding:24px 0;border-bottom:1px solid #dedede;}
.workspace-event:last-child{border-bottom:1px solid #dedede;}
.workspace-drag,.workspace-icon-button{border:0;background:transparent;color:#5b5c60;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;padding:0;}
.workspace-drag:hover,.workspace-icon-button:hover{background:#f2f2f1;color:#202124;}
.workspace-drag{cursor:grab;}
.workspace-time{color:var(--workspace-red-dark);font-size:17px;font-weight:800;white-space:nowrap;padding-top:5px;min-height:30px;}
.workspace-dot{width:16px;height:16px;margin:8px 4px 0;border-radius:999px;background:var(--workspace-red);box-shadow:0 0 0 4px #fff;position:relative;z-index:2;}
.workspace-details{min-width:0;padding-right:12px;}
.workspace-desc{font-size:17px;font-weight:800;line-height:1.35;min-height:25px;color:#18181a;}
.workspace-loc{display:flex;align-items:center;gap:6px;color:#77787c;font-size:14px;min-height:26px;margin-top:5px;}
.workspace-loc .material-symbols-outlined{font-size:17px;}
.workspace-loc-text{min-width:140px;min-height:20px;}
.workspace-note{color:#77787c;font-size:14px;line-height:1.45;min-height:22px;margin-top:4px;}
.workspace-note:empty::before{content:"Add note";color:#a2a2a5;}
.workspace-time:focus,.workspace-desc:focus,.workspace-loc-text:focus,.workspace-note:focus{outline:2px solid rgba(197,5,12,.25);outline-offset:3px;border-radius:2px;background:#fffafa;}
.workspace-event.dragging{opacity:.42;}
.workspace-event.drop-above{box-shadow:inset 0 2px 0 var(--workspace-red);}
.workspace-event.drop-below{box-shadow:inset 0 -2px 0 var(--workspace-red);}
.workspace-add{display:inline-flex;align-items:center;gap:10px;margin:28px 0 0 144px;border:0;background:transparent;color:var(--workspace-red-dark);font-weight:800;padding:6px;}
.workspace-add .material-symbols-outlined{font-size:30px;}

.preview-pane{border-left:1px solid var(--workspace-line);background:#fcfcfb;padding:40px 26px 28px;display:flex;flex-direction:column;overflow:hidden;}
.preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:24px;}
.preview-head h2{font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;color:#333438;}
.preview-head p{font-size:13px;color:#77787c;margin:0;}
.secondary-button{display:inline-flex;align-items:center;gap:7px;border:1px solid #ddd;border-radius:7px;background:#fff;color:#28282b;font-size:12px;font-weight:750;padding:9px 11px;white-space:nowrap;}
.secondary-button .material-symbols-outlined{font-size:17px;}
.preview-viewport{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;}
.preview-pane #stage{width:408px;height:528px;padding:0;position:relative;overflow:visible;flex:0 0 auto;}
.preview-pane #page{position:absolute;left:50%;top:0;transform:translateX(-50%) scale(.48);transform-origin:top center;box-shadow:0 2px 14px rgba(0,0,0,.16);pointer-events:none;}
.preview-pane .row-tools,.preview-pane .day-tools,.preview-pane .day-date,.preview-pane .add-row,.preview-pane .add-day-wrap,.preview-pane .warn-flag,.preview-pane .day-flag{display:none!important;}
.preview-pane .event{align-items:start;padding:9px 0;}
.preview-pane .edesc{display:block;width:auto;white-space:normal;}
.preview-pane .event .desc{display:block;line-height:1.25;}
.preview-pane .event .loc{display:block;line-height:1.35;margin-top:3px;}
.preview-pane .event .loc:not(:empty)::before{content:"\e0c8  ";font-family:'Material Symbols Outlined';font-size:14px;vertical-align:-1px;}
.preview-pane .event .loc:not(:empty)::after{content:"";}
.preview-pane .event-note{display:block;color:#67635d;font-size:15px;line-height:1.35;margin-top:3px;}

.action-dock{height:var(--dock-height);display:flex;align-items:center;gap:28px;padding:0 28px;background:#1d1e20;color:#fff;position:relative;z-index:70;box-shadow:0 -4px 18px rgba(0,0,0,.12);}
.dock-state{display:flex;align-items:center;gap:13px;min-width:235px;}
.dock-save-state{border:0;background:transparent;color:inherit;text-align:left;padding:0;}
.dock-save-state:hover strong{color:#fff;}
.dock-state>.material-symbols-outlined{font-size:32px;color:#d6d7da;}
.dock-health>.material-symbols-outlined{color:#4ead66;}
.dock-state div{display:flex;flex-direction:column;gap:3px;}
.dock-state strong{font-size:14px;}
.dock-state span{font-size:12px;color:#b9babd;}
.dock-divider{height:42px;width:1px;background:#56575a;}
.dock-spacer{flex:1;}
.dock-button{height:48px;border-radius:7px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;min-width:160px;}
.dock-secondary{border:1px solid #5b5c60;background:transparent;color:#fff;}
.dock-primary{border:1px solid #e11820;background:var(--workspace-red);color:#fff;min-width:190px;}
.dock-button:hover{transform:translateY(-1px);}

body.preview-expanded .preview-pane{position:fixed;inset:var(--header-height) 0 var(--dock-height);z-index:65;background:rgba(23,23,24,.94);padding:24px;}
body.preview-expanded .preview-head{color:#fff;max-width:850px;width:100%;margin:0 auto 14px;}
body.preview-expanded .preview-head p,body.preview-expanded .preview-head h2{color:#fff;}
body.preview-expanded .preview-pane #stage{width:680px;height:880px;}
body.preview-expanded .preview-pane #page{transform:translateX(-50%) scale(.8);}

@media(max-width:1200px){
  :root{--profile-width:240px;--preview-width:360px;}
  .profile-pane{padding:32px 22px;}
  .profile-name{font-size:30px;}
  .builder-pane{padding-inline:28px;}
  .preview-pane{padding-inline:18px;}
  .preview-pane #stage{width:340px;height:440px;}
  .preview-pane #page{transform:translateX(-50%) scale(.4);}
}

@media(max-width:940px){
  html,body{overflow:auto;}
  .app-main{height:auto;min-height:calc(100vh - var(--header-height) - var(--dock-height));grid-template-columns:220px 1fr;}
  .preview-pane{grid-column:1/-1;border-left:0;border-top:1px solid var(--workspace-line);min-height:650px;}
  .action-dock{position:sticky;bottom:0;}
  .visits-shell{padding:34px 24px 60px;}
  .visits-hero{align-items:flex-start;flex-direction:column;}
  .visits-hero-actions{justify-content:flex-start;}
  .visits-summary{grid-template-columns:repeat(3,minmax(0,1fr));}
  .visits-controls{grid-template-columns:1fr 1fr;}
  .visits-search{grid-column:1/-1;}
}

@media(max-width:700px){
  .app-header{padding-inline:14px;gap:14px;}
  .brand-mark{width:50px;padding-right:10px;}
  .primary-nav{gap:12px;}
  .header-date,.account-avatar{display:none;}
  .app-main{display:block;}
  .profile-pane{border-right:0;border-bottom:1px solid var(--workspace-line);}
  .back-link{margin-bottom:24px;}
  .builder-pane{padding:26px 18px 50px;}
  .workspace-event{grid-template-columns:28px 82px 18px minmax(0,1fr) 30px;column-gap:8px;}
  .workspace-events::before{left:126px;}
  .workspace-event .workspace-menu{display:none;}
  .workspace-add{margin-left:104px;}
  .action-dock{padding:0 14px;gap:10px;}
  .dock-state,.dock-divider,.dock-secondary{display:none;}
  .dock-primary{width:100%;}
  .visits-shell{padding:28px 16px 48px;}
  .visits-hero h1{font-size:40px;}
  .visits-hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;}
  .visits-hero-actions .lib-health{grid-column:1/-1;justify-content:center;}
  .visits-hero-actions button{width:100%;}
  .visits-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:32px;}
  .visits-page .lib-stat{min-height:92px;padding:16px;}
  .visits-controls{grid-template-columns:1fr;}
  .visits-search{grid-column:auto;}
  .visits-page .lib-row{grid-template-columns:1fr;padding:18px;}
  .visits-page .lib-row .acts{justify-content:flex-start;}
}

@media print{
  html,body{height:auto;overflow:visible;background:#fff;}
  .app-header,.visits-page,.profile-pane,.builder-pane,.preview-head,.action-dock{display:none!important;}
  .app-main{display:block;height:auto;}
  .preview-pane{display:block;border:0;padding:0;overflow:visible;background:#fff;}
  .preview-viewport{display:block;overflow:visible;}
  .preview-pane #stage{display:block;width:8.5in;height:11in;overflow:visible;}
  .preview-pane #page{position:relative;left:0;top:0;transform:none;pointer-events:auto;}
}
