:root{font-family:Segoe UI,Aptos,sans-serif;color:#172923;background:#f5f7f4;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #172923;--muted: #718078;--line: #e6ebe6;--surface: #fff;--canvas: #f5f7f4;--sidebar: #152c25;--sidebar-muted: #a3b5aa;--accent: #4aa884;--accent-dark: #287d5d;--accent-soft: #e8f5ee;--danger: #b54747;--radius: 14px;--shadow: 0 5px 22px rgba(28, 50, 40, .055)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #71c7a0;outline-offset:2px}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;flex:0 0 250px;display:flex;flex-direction:column;padding:27px 17px 18px;color:#fff;background:var(--sidebar)}.brand,.login-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}.brand{padding:0 11px 28px}.brand-mark{display:grid;width:39px;height:39px;flex:0 0 39px;place-items:center;border-radius:12px;background:#6cc09a;color:#123326;font:800 21px Segoe UI,sans-serif}.brand-copy{display:grid;gap:2px}.brand-copy strong{color:#fff;font:800 18px Segoe UI,sans-serif;letter-spacing:-.7px}.brand-copy strong span{color:#77cba4}.brand-copy small{color:var(--sidebar-muted);font-size:11px;letter-spacing:.02em}.nav-caption{padding:15px 12px 10px;color:#789086;font-size:9px;font-weight:700;letter-spacing:.14em}.primary-nav{display:grid;gap:5px}.nav-item{display:flex;width:100%;min-height:43px;align-items:center;gap:12px;border:0;border-radius:9px;padding:0 12px;background:transparent;color:#c0cec6;text-align:left;transition:background .16s ease,color .16s ease}.nav-item:hover{background:#ffffff12;color:#fff}.nav-item.active{background:#25483a;color:#fff;font-weight:600;box-shadow:inset 3px 0 #75d0a4}.nav-index{width:21px;color:#7e9a8b;font:600 10px Segoe UI,sans-serif}.nav-item.active .nav-index{color:#8cdbb5}.sidebar-bottom{margin-top:auto;padding-top:22px}.workspace-card{display:flex;align-items:center;gap:10px;padding:12px 8px 15px;border-top:1px solid rgba(255,255,255,.1)}.workspace-avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#294c3d;color:#9ee0bc;font-size:11px;font-weight:700}.workspace-card span:last-child{display:grid;gap:3px}.workspace-card strong{color:#f5faf6;font-size:12px}.workspace-card small{color:#91a79a;font-size:10px}.logout-button{display:flex;align-items:center;gap:10px;width:100%;border:0;padding:10px 9px;background:transparent;color:#b5c4bb;text-align:left;font-size:12px}.logout-button:hover{color:#fff}.logout-mark{display:grid;width:22px;height:22px;place-items:center;border-radius:7px;background:#ffffff14}.workspace{min-width:0;flex:1}.topbar{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:0 38px;background:#ffffffb8}.breadcrumb{display:flex;align-items:center;gap:10px;color:#859188;font-size:12px}.breadcrumb strong{color:#314239;font-weight:600}.breadcrumb-separator{color:#c0c9c1}.topbar-actions{display:flex;align-items:center;gap:18px}.connection-status{display:flex;align-items:center;gap:7px;color:#75847b;font-size:11px}.connection-status i{width:7px;height:7px;border-radius:50%;background:#54b27e;box-shadow:0 0 0 3px #e4f4e9}.page-content{width:min(100%,1390px);margin:0 auto;padding:38px 42px 54px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{margin:0 0 9px;color:#86938a;font-size:9px;font-weight:700;letter-spacing:.14em}.eyebrow span{padding:0 3px;color:#aac8b7}.page-heading h1{margin:0;color:#1a3026;font:700 29px Segoe UI,Aptos,sans-serif;letter-spacing:-.8px}.page-description{margin:7px 0 0;color:var(--muted);font-size:13px}.button{display:inline-flex;min-height:39px;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:0 14px;font-size:12px;font-weight:600;transition:background .15s ease,border-color .15s ease,transform .15s ease}.button:active{transform:translateY(1px)}.button-secondary{border:1px solid #dce4dd;background:#fff;color:#385045}.button-secondary:hover{border-color:#a9c6b4;background:#f8fbf8}.refresh-button span:first-child{font-size:17px;line-height:1}.button-primary{border:1px solid #287b5b;background:#287b5b;color:#fff}.button-primary:hover{background:#206b4e}article,.table,.calendar-wrap,.dashboard-filter,.inline,.settings-grid,.pref,.login{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 27px}.cards article{min-height:118px;padding:18px 19px}.cards article small{color:#7c8a81;font-size:11px;font-weight:500}.cards article strong{display:block;margin-top:13px;color:#19372a;font:700 25px Segoe UI,sans-serif;letter-spacing:-.6px}.page-content h3{color:#233b2e;font:700 16px Segoe UI,sans-serif}.table{overflow:auto;padding:4px 18px}table{width:100%;border-collapse:collapse;text-align:left}th{padding:13px 12px;color:#8a978e;font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}td{padding:15px 12px;border-top:1px solid #edf0ed;color:#425248;font-size:12px}td small{display:block;margin-top:4px;color:#89958d}.error,.notice{border-radius:9px;padding:12px 14px;font-size:12px}.error{border:1px solid #f0d4d1;background:#fff5f3;color:var(--danger)}.notice{border:1px solid #d5eadb;background:#eff9f1;color:#287748}.loading-state{display:flex;min-height:100px;align-items:center;justify-content:center;border:1px dashed #d5dfd7;border-radius:var(--radius);color:#78877e;font-size:12px}.dashboard-filter{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px;padding:13px 16px;box-shadow:none}.dashboard-filter label{display:flex;align-items:center;gap:12px;color:#526258;font-size:12px;font-weight:600}.dashboard-filter span{color:#89968e;font-size:11px}select,.inline input,.inline select{min-height:38px;border:1px solid #dce4dd;border-radius:8px;padding:0 11px;background:#fff;color:#33463a}.inline{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 15px;padding:16px;box-shadow:none}.inline button,.service-actions button,.calendar-toolbar button,.calendar-modal-close{min-height:37px;border:1px solid #dce4dd;border-radius:8px;padding:0 12px;background:#fff;color:#385045}.inline button:hover,.service-actions button:hover,.calendar-toolbar button:hover,.calendar-modal-close:hover{border-color:#9dbfac;background:#f7fbf8}.service-actions{display:flex;flex-wrap:wrap;gap:7px}.pref{display:block;margin:0 0 8px;padding:12px 15px;box-shadow:none}.settings-grid{display:grid;gap:14px;padding:20px;box-shadow:none}.settings-grid h3{margin:5px 0 0}.settings-grid label,.service-edit-form label{display:grid;gap:7px;color:#526258;font-size:12px;font-weight:600}.settings-grid input,.settings-grid textarea,.service-edit-form input:not([type=checkbox]){width:100%;min-height:40px;border:1px solid #dce4dd;border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit;font-weight:400}.settings-grid textarea{min-height:100px;resize:vertical}.settings-grid>button,.service-edit-actions button{min-height:39px;justify-self:start;border:0;border-radius:8px;padding:0 15px;background:var(--accent-dark);color:#fff;font-weight:600}.service-modal{width:min(520px,100%)}.service-edit-form{display:grid;gap:14px;margin-top:16px}.service-active{display:flex!important;align-items:center;gap:8px!important}.service-active input{width:18px;height:18px;accent-color:var(--accent-dark)}.service-edit-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:6px}.service-edit-actions .secondary{border:1px solid #dce4dd;background:#fff;color:#405247}.calendar-wrap{padding:16px}.calendar-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:15px}.calendar-toolbar strong{flex:1;color:#233b2e;text-align:center;font:700 16px Segoe UI,sans-serif}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-head>div{padding:10px 4px;border-bottom:1px solid var(--line);color:#829087;text-align:center;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.calendar-body{border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-day{min-height:112px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;background:#fff}.calendar-day.empty{background:#f8faf8}.day-number{margin-bottom:6px;color:#58675d;font-size:11px;font-weight:600}.calendar-day.today{background:#eff8f1}.calendar-day.today .day-number{color:#287748;font-weight:800}.day-events{display:flex;flex-direction:column;gap:4px}.calendar-event{display:block;width:100%;overflow:hidden;border:1px solid #d6eadb;border-radius:6px;padding:5px 6px;background:#f0f8f2;color:#345742;text-align:left;font:inherit;font-size:10px;cursor:pointer}.calendar-event:hover{border-color:#94c7a1}.calendar-event b{margin-right:4px}.calendar-event span,.calendar-event small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-event small{margin-top:2px;color:#74877a}.calendar-note{display:flex;justify-content:space-between;gap:12px;margin-top:11px;color:#849087;font-size:10px}.calendar-modal-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#10251c6b}.calendar-modal{width:min(460px,100%);border:1px solid var(--line);border-radius:16px;padding:21px;background:#fff;box-shadow:0 18px 55px #0f21182e}.calendar-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:13px}.calendar-modal-header h3{margin:0 0 4px}.calendar-modal-header span{color:var(--muted);font-size:11px}.calendar-modal-header button{border:0;background:transparent;color:#607167;font-size:24px;cursor:pointer}.appointment-detail{display:grid;gap:0;margin:12px 0}.appointment-detail p{display:flex;justify-content:space-between;gap:20px;margin:0;border-bottom:1px solid #f0f2f0;padding:10px 0;font-size:12px}.appointment-detail b{color:#718078}.appointment-detail span{overflow-wrap:anywhere;text-align:right}.calendar-modal-close{width:100%}.login{display:grid;width:min(420px,calc(100% - 32px));gap:10px;margin:max(8vh,45px) auto;padding:32px;box-shadow:0 16px 48px #1b372817}body:has(.login){display:grid;min-height:100vh;align-content:start;background:radial-gradient(ellipse at 50% 0%,#e4f2e8,#f5f7f4 62%)}.login-brand{margin-bottom:19px}.login-brand .brand-copy strong{color:#1c382a}.login-brand .brand-copy strong span{color:var(--accent-dark)}.login-brand .brand-copy small{color:#7b8b80}.login .eyebrow{margin:0;color:var(--accent-dark)}.login h1{margin:0;color:#1d3428;font:700 25px Segoe UI,sans-serif;letter-spacing:-.5px}.login-intro{margin:0 0 8px;color:#78867d;font-size:12px;line-height:1.6}.login label{margin:4px 0 -4px;color:#405348;font-size:11px;font-weight:600}.login input{width:100%;min-height:43px;border:1px solid #dce4dd;border-radius:8px;padding:0 12px;background:#fff;color:#26392e}.login input::placeholder{color:#a3ada6}.login .button{width:100%;margin-top:8px;min-height:43px;justify-content:space-between;padding:0 15px}@media(max-width:1050px){.sidebar{width:220px;flex-basis:220px}.page-content{padding:30px 27px 45px}.topbar{padding:0 27px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:91px}}@media(max-width:720px){.app-shell{display:block}.sidebar{width:100%;padding:13px 15px 10px}.brand{padding:0 3px 11px}.brand-mark{width:34px;height:34px;flex-basis:34px}.nav-caption,.sidebar-bottom{display:none}.primary-nav{display:flex;gap:5px;overflow-x:auto;padding:0 0 3px;scrollbar-width:thin}.nav-item{width:auto;min-height:38px;flex:0 0 auto;gap:7px;padding:0 10px;white-space:nowrap}.nav-item.active{box-shadow:inset 0 -2px #75d0a4}.nav-index{width:auto}.topbar{min-height:54px;padding:0 17px}.connection-status{display:none}.page-content{padding:26px 17px 38px}.page-heading{margin-bottom:21px}.page-heading h1{font-size:25px}.cards{gap:10px;margin-bottom:22px}.cards article{min-height:98px;padding:14px}.cards article strong{margin-top:10px;font-size:21px}.calendar-wrap{overflow-x:auto;padding:11px}.calendar-grid{min-width:610px}.calendar-day{min-height:82px;padding:5px}.calendar-event small{display:none}.calendar-note{display:grid}}@media(max-width:480px){.topbar{padding:0 12px}.breadcrumb{gap:7px;font-size:10px}.refresh-button{min-height:35px;padding:0 10px}.refresh-button span:last-child{display:none}.page-content{padding:22px 12px 30px}.page-heading h1{font-size:23px}.page-description{max-width:280px;line-height:1.5}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cards article{min-height:91px;padding:12px}.cards article small{font-size:10px}.cards article strong{font-size:19px}.dashboard-filter{display:grid;align-items:start}.dashboard-filter label{justify-content:space-between}.dashboard-filter select{min-width:135px}.dashboard-filter span{line-height:1.5}.table{padding:3px 10px}th,td{padding:12px 9px}.login{padding:25px 21px}.calendar-modal-backdrop{padding:10px}.appointment-detail p{display:grid;gap:4px}.appointment-detail span{text-align:left}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.link-button{border:0;padding:0;background:transparent;color:#287b5b;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-button:focus-visible{outline:2px solid #287b5b;outline-offset:3px;border-radius:3px}.login .button:disabled{opacity:.65;cursor:wait}.settings-grid form{display:grid;gap:10px;max-width:560px}.settings-grid input{width:100%;min-height:42px;border:1px solid #dce4dd;border-radius:8px;padding:0 12px;background:#fff;color:#26392e}
