/* VisitKeep 2D2M · Unified modern workspace — additive, page-safe */
:root{--vk-bg:#f5f8fa;--vk-line:#e3ebee;--vk-text:#162c38;--vk-muted:#607780;--vk-accent:#167f83;--vk-radius:17px}
body.app{background:var(--vk-bg);color:var(--vk-text)}body.app .topbar{background:#fff;border-bottom:1px solid var(--vk-line);padding:13px max(18px,calc((100% - 1160px)/2));min-height:70px}body.app .topbar .brand{display:inline-flex;align-items:center;gap:5px}body.app .topbar .brand small{font-size:10px;border-radius:99px;background:#e8f6f5;color:#17777c;padding:4px 7px}body.app .topbar .quiet{color:#67808b}
.vk-workspace-shell{max-width:1160px;margin:0 auto;padding:20px 20px 0}.vk-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:22px;background:white;border:1px solid var(--vk-line);border-radius:18px;padding:16px 20px;box-shadow:0 3px 12px #103c4a07}.vk-workspace-identity{display:flex;align-items:center;min-width:0;gap:12px}.vk-workspace-badge{flex:none;width:47px;height:47px;background:#e6f7f4;border-radius:13px;display:grid;place-items:center}.vk-workspace-identity span:last-child{display:flex;flex-direction:column;min-width:0;gap:1px}.vk-workspace-identity small{letter-spacing:1.25px;font-weight:800;font-size:10px;color:#6b8990}.vk-workspace-identity strong{font-size:18px;line-height:1.2;color:#193740}.vk-workspace-identity em{font-size:12px;font-style:normal;color:#68828b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:340px}.vk-workspace-links{display:flex;gap:3px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.vk-workspace-links a,.vk-nav-more summary{padding:9px 10px;border-radius:9px;font-size:12px;color:#546d77;text-decoration:none;font-weight:650;white-space:nowrap}.vk-workspace-links a:hover,.vk-workspace-links a[aria-current=page]{background:#e8f6f5;color:#076e76}.vk-workspace-links .vk-logout{border-left:1px solid var(--vk-line);border-radius:0}.vk-nav-more{display:none;position:relative}.vk-nav-more summary{cursor:pointer;list-style:none;background:#edf5f5}.vk-nav-more summary::-webkit-details-marker{display:none}.vk-nav-more>div{position:absolute;right:0;z-index:99;top:38px;width:190px;background:#fff;border:1px solid var(--vk-line);border-radius:13px;box-shadow:0 18px 38px #143c4c21;padding:8px}.vk-nav-more>div a{display:block;padding:11px;border-radius:8px;text-decoration:none;font-size:13px;color:#264b54}.vk-nav-more>div a:hover{background:#ecf7f6}
body.app .workspace{max-width:1160px;width:100%;margin:22px auto;padding:0 20px}body.app .narrow{max-width:960px}body.app .card{border-radius:var(--vk-radius);border:1px solid var(--vk-line);box-shadow:0 3px 14px #14445608;background:#fff}body.app .pagetitle{margin-bottom:20px}body.app .pagetitle h1{letter-spacing:-.7px}body.app .stat{border-radius:15px;border:1px solid var(--vk-line);box-shadow:0 3px 12px #16485707;background:#fff}body.app .button:not(.secondary),body.app button:not(.secondary){border-radius:11px}body.app input,body.app select,body.app textarea{border-radius:11px;max-width:100%}body.app .tablewrap{border:1px solid var(--vk-line);border-radius:13px;overflow:auto}body.app table{min-width:560px}body.app .clientrow{border-radius:15px}body.app .bottomnav{background:#fff;border-top:1px solid var(--vk-line)}
.vk-login-modern{max-width:520px;margin:34px auto}.vk-login-modern .vk-auth-methods{display:grid;gap:10px;margin:0 0 22px}.vk-auth-methods .button{display:block;text-align:center}.vk-auth-divider{display:flex;align-items:center;gap:12px;color:#8499a1;font-size:12px;margin:19px 0}.vk-auth-divider:before,.vk-auth-divider:after{content:'';flex:1;border-top:1px solid #dfe9ed}
@media(max-width:1040px){.vk-workspace-links{display:none}.vk-nav-more{display:block}}@media(max-width:760px){body.app .topbar{padding:12px 16px;min-height:58px}.vk-workspace-shell{padding:12px 14px 0}.vk-workspace-head{padding:12px 14px;border-radius:14px}.vk-workspace-badge{width:42px;height:42px}.vk-workspace-identity strong{font-size:16px}.vk-workspace-identity em{max-width:185px}.vk-workspace-identity small{font-size:9px}body.app .workspace{margin:16px auto;padding:0 14px}body.app .card{padding:18px;border-radius:14px}body.app .bottomnav{padding-bottom:max(6px,env(safe-area-inset-bottom))}body.app .statgrid{gap:9px}body.app .pagetitle h1{font-size:27px}body.app .tablewrap{margin-left:0;margin-right:0}body.app .tabs{overflow-x:auto;scrollbar-width:none}body.app .tabs a{white-space:nowrap}}
@media print{.vk-workspace-shell{display:none!important}}

.vk-logout-form{margin:0}.vk-logout-form button{padding:8px 10px!important;font-size:12px!important;border:0!important;background:transparent!important;color:#536b75!important;min-height:auto!important}.vk-nav-more form{margin:0}.vk-nav-more form button{display:block;width:100%;text-align:left;background:#f4f8f8!important;border:0!important;color:#264b54!important;font-size:13px!important;padding:11px!important}

/* VisitKeep Workspace 2.0 — unified presentation, no application logic changes */
:root{--vk-bg:#f3f7f8;--vk-line:#dce7e9;--vk-text:#193340;--vk-muted:#617884;--vk-accent:#007f84;--vk-radius:20px}
body.app{background:var(--vk-bg)}
body.app .topbar{max-width:none;width:100%;border-bottom:0;padding:10px max(16px,calc((100% - 1160px)/2));min-height:60px;background:transparent}
body.app .topbar .brand{font-size:19px}body.app .topbar .brand small{display:none}body.app .topbar>.quiet{font-size:12px}
.vk-workspace-shell{padding-top:10px}.vk-workspace-head{border-radius:18px;border:1px solid #dce8ec;background:#fff;padding:17px 20px;box-shadow:0 6px 20px #10425307}
.vk-workspace-identity strong{font-size:22px;letter-spacing:-.5px}.vk-workspace-badge{background:linear-gradient(130deg,#e4f5f3,#f0fafb)}
.vk-workspace-links{gap:5px}.vk-workspace-links a{padding:10px 12px;border-radius:11px}.vk-workspace-links a[aria-current=page]{box-shadow:inset 0 0 0 1px #b9e1e0}
body.app .workspace{margin-top:18px}body.app .pagetitle{margin:12px 0 22px}body.app .pagetitle h1{font-size:clamp(26px,3vw,35px);line-height:1.17;letter-spacing:-1.1px;margin:0 0 7px}
body.app .pagetitle p,body.app .muted{color:var(--vk-muted)}body.app .card{border:1px solid var(--vk-line);border-radius:19px;box-shadow:0 5px 18px #123c5008;padding:clamp(16px,2vw,26px)}
body.app .card h2{letter-spacing:-.55px;line-height:1.23}body.app .statgrid,body.app .dashboardgrid{gap:15px}body.app .stat{border-radius:17px;padding:20px;min-width:0}
body.app button,body.app .button{font-weight:690;letter-spacing:-.15px;border-radius:11px;transition:background-color .16s ease,transform .16s ease,box-shadow .16s ease}
body.app button:hover,body.app .button:hover{transform:translateY(-1px)}body.app button:focus-visible,body.app a:focus-visible,body.app input:focus-visible,body.app select:focus-visible,body.app textarea:focus-visible{outline:3px solid #66c9c7;outline-offset:2px}
body.app input,body.app select,body.app textarea{border:1px solid #ccdbdd;background:#fff;min-height:44px}body.app textarea{min-height:95px}body.app input[type=checkbox],body.app input[type=radio]{min-height:0;accent-color:#087f80}
body.app label{color:#294653;font-weight:620}body.app .toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 22px}body.app .toolbar .button{min-height:42px;padding:9px 15px}body.app .inlineform{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
body.app .schedule-controls{background:linear-gradient(160deg,#fff 67%,#f0faf8 100%)}body.app .schedule-head{display:flex;align-items:center;justify-content:space-between;gap:10px}body.app .schedule-modes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}body.app .schedule-modes .button{min-height:37px;padding:7px 13px}body.app .schedule-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;overflow:visible}body.app .schedule-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;border:1px solid #dde9e9;border-radius:13px;padding:11px 3px;background:#fff;text-decoration:none}body.app .schedule-day small{font-size:11px;color:#708792}body.app .schedule-day strong{font-size:20px;line-height:1.15}body.app .schedule-day.selected{background:#e0f6f2;border-color:#54b5ad;color:#0c6767}body.app .schedule-day.today:not(.selected){box-shadow:inset 0 0 0 1px #8db6b9}
body.app .schedule-appointments{min-width:0}body.app .schedule-date-group{border-bottom:1px solid #e6ecef;padding-bottom:13px;margin-bottom:14px}body.app .schedule-date-group:last-child{border-bottom:0}body.app .sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px}
body.app .alphabet{display:flex;flex-wrap:wrap;gap:3px;margin:14px 0}body.app .alphabet a{min-width:30px;padding:6px 5px;text-align:center;border-radius:8px;font-size:12px}body.app .alphabet a.active{background:#dff4f1;color:#006c70;font-weight:750}
body.app .clientrow{border:1px solid #e0e9eb;background:#fff;padding:13px;margin:9px 0}body.app .tablewrap{background:#fff;max-width:100%;border-radius:15px;box-shadow:0 3px 12px #153b4c06}body.app table{border-collapse:separate;border-spacing:0}body.app th{background:#f1f7f8;color:#395667;text-align:left;font-size:12px;letter-spacing:.3px}body.app td,body.app th{padding:13px 14px;border-bottom:1px solid #e9f0f1}body.app tr:last-child td{border-bottom:0}body.app .pill,body.app .badge{letter-spacing:.35px}
body.app .notice{border-radius:14px}body.app footer{color:#87979e}body.app .bottomnav{box-shadow:0 -6px 18px #1239480b}
@media(max-width:1040px){.vk-nav-more{display:block}.vk-workspace-links{display:none}}@media(max-width:760px){body.app .topbar{min-height:46px;padding:8px 14px}body.app .topbar .brand{font-size:16px}.vk-workspace-shell{padding-top:6px}.vk-workspace-head{padding:12px 13px}.vk-workspace-identity strong{font-size:17px}.vk-workspace-identity em{max-width:200px}.vk-workspace-badge{height:42px;width:42px}body.app .workspace{margin-top:13px}body.app .card{padding:17px}body.app .dashboardgrid{display:grid;grid-template-columns:minmax(0,1fr)}body.app .statgrid{gap:9px}body.app .schedule-days{gap:4px}body.app .schedule-day{padding:8px 1px;border-radius:10px}body.app .schedule-day strong{font-size:17px}body.app .schedule-day small{font-size:10px}body.app .toolbar{gap:8px}body.app .toolbar .button{font-size:13px}body.app .sectionhead{flex-wrap:wrap}body.app .tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}body.app .alphabet{gap:2px}body.app .alphabet a{min-width:27px}body.app .bottomnav{z-index:80}}
@media(prefers-reduced-motion:reduce){body.app button,body.app .button{transition:none!important;transform:none!important}}
