:root{color-scheme:light;--bg: #f4f5f7;--bg-strong: #e9edf3;--surface: rgba(255, 255, 255, .82);--surface-solid: #ffffff;--surface-soft: rgba(255, 255, 255, .55);--ink: #0f172a;--muted: #64748b;--line: rgba(15, 23, 42, .08);--brand: #0a84ff;--brand-dark: #0060df;--accent: #64d2ff;--good: #1a8f4c;--danger: #d92d20;--shadow: 0 24px 70px rgba(15, 23, 42, .12);--shadow-soft: 0 12px 30px rgba(15, 23, 42, .08);--radius: 20px;--radius-lg: 28px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at top left,rgba(10,132,255,.14),transparent 30%),radial-gradient(circle at 85% 15%,rgba(100,210,255,.18),transparent 24%),radial-gradient(circle at 30% 85%,rgba(255,255,255,.82),transparent 30%),linear-gradient(180deg,#f8fafc,#eef2f7 36%,#e9edf3);overflow-x:hidden}body:before,body:after{content:"";position:fixed;inset:auto;width:22rem;height:22rem;border-radius:50%;filter:blur(70px);opacity:.35;pointer-events:none;z-index:-1}body:before{top:-8rem;right:-6rem;background:#0a84ff38}body:after{bottom:-8rem;left:-7rem;background:#64d2ff33}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;min-height:48px;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:.8rem .95rem;color:var(--ink);background:#ffffffd1;box-shadow:inset 0 1px #ffffffd9;outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}input::placeholder,textarea::placeholder{color:#64748bc2}input:focus,select:focus,textarea:focus{border-color:#0a84ffa6;box-shadow:0 0 0 4px #0a84ff24}textarea{resize:vertical}label{display:grid;gap:.38rem;color:#334155;font-size:.9rem;font-weight:700}.app-shell{display:grid;grid-template-columns:288px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:1rem;height:calc(100vh - 2rem);margin:1rem 0 1rem 1rem;padding:1rem;border:1px solid rgba(255,255,255,.65);border-radius:var(--radius-lg);color:#0f172a;background:#ffffffc2;backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1rem}.brand{display:flex;gap:.9rem;align-items:center;padding:.8rem;border-radius:22px;background:linear-gradient(180deg,#0a84ff1a,#0a84ff08);border:1px solid rgba(10,132,255,.1)}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;color:#fff;background:linear-gradient(180deg,#4ca5ff,#0a84ff);box-shadow:0 10px 25px #0a84ff59;font-weight:800}.brand strong{display:block;font-size:1rem;letter-spacing:-.02em}.brand small{display:block;color:var(--muted);font-size:.8rem}.sidebar nav{display:grid;gap:.35rem}.sidebar nav a,.mobile-nav a{padding:.8rem .9rem;border-radius:16px;color:#0f172abf;font-weight:700;transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.sidebar nav a.active,.sidebar nav a:hover{color:#0f172a;background:#ffffffd1;box-shadow:var(--shadow-soft);transform:translateY(-1px)}.content{width:min(1520px,100%);margin:0 auto;padding:1.15rem 1.15rem 6rem;position:relative}.content:before,.content:after{content:"";position:absolute;inset:auto;border-radius:999px;pointer-events:none;z-index:-1;filter:blur(36px);opacity:.28}.content:before{top:2rem;right:2rem;width:13rem;height:13rem;background:#0a84ff33}.content:after{bottom:4rem;left:4rem;width:16rem;height:16rem;background:#64d2ff29}.page,.panel,.login-card,.quick-action,.stat-card,.row-card,.schedule-item,.day-card,.day-panel,.client-search-panel,.linked-client,.form-section,.suggestions button{border:1px solid rgba(255,255,255,.72);border-radius:var(--radius-lg);background:var(--surface);backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);box-shadow:var(--shadow-soft)}.page,.panel{position:relative;overflow:hidden}.page:before,.panel:before,.login-card:before,.day-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff8c,#fff0);pointer-events:none}.hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.35rem;margin-bottom:1rem;background:linear-gradient(135deg,#ffffffe6,#f5f8fcad)}.hero h1,.panel h2{margin:0;line-height:1.08;letter-spacing:-.03em}.hero h1{font-size:clamp(1.45rem,1rem + 1vw,2rem)}.panel h2{font-size:1.06rem}.panel{padding:1rem}.eyebrow{margin:0 0 .2rem;color:var(--brand-dark);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.primary,.ghost{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;padding:.65rem 1rem;cursor:pointer;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}.primary{color:#fff;background:linear-gradient(180deg,#4ca5ff,#0a84ff);box-shadow:0 12px 24px #0a84ff3d}.primary:hover{background:linear-gradient(180deg,#59adff,#006fe8);transform:translateY(-1px)}.primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.ghost{color:var(--ink);background:#ffffff9e;border-color:#0f172a14}.ghost:hover{background:#ffffffe6;transform:translateY(-1px)}.full{width:100%}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}.quick-action{display:grid;gap:.25rem;min-height:86px;align-content:center;padding:.95rem 1rem;transition:transform .18s ease,box-shadow .18s ease}.quick-action:hover{transform:translateY(-2px);box-shadow:0 18px 40px #0f172a1a}.quick-action strong{font-size:1rem;letter-spacing:-.02em}.quick-action span{color:var(--muted);font-size:.88rem}.mobile-tabs{display:none}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}.stat-card{padding:.95rem 1rem}.stat-card span,.muted,.row-card p,.row-card small,.schedule-item p,.schedule-item small,.job-chip small,.more-jobs,.photo-grid figcaption,.login-card small,.suggestions small{color:var(--muted)}.stat-card strong{display:block;margin-top:.3rem;font-size:clamp(1.3rem,1rem + 1vw,1.95rem);letter-spacing:-.04em}.two-col,.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.42fr);gap:1rem;margin-bottom:1rem}.wide-left{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)}.panel-head,.actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-section{display:grid;gap:.85rem;padding:1rem;background:linear-gradient(180deg,#fffffff2,#f8fafcb8)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.section-head h3{margin:0;font-size:1.02rem;letter-spacing:-.02em}.client-fields{display:grid;grid-template-columns:1.2fr minmax(180px,.7fr) minmax(180px,.8fr);gap:.8rem}.client-search-panel{display:grid;gap:.65rem;padding:.85rem;background:#f5f8fcd1}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem}.dropdown-list{max-height:280px;overflow:auto}.span-2{grid-column:1 / -1}.row-card,.schedule-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem .95rem;margin-top:.7rem;background:#ffffffd1;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.job-card{align-items:flex-start}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.icon-action{min-height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(15,23,42,.08);border-radius:999px;padding:.42rem .7rem;color:var(--brand-dark);background:#0a84ff14;font-size:.82rem;font-weight:700}.status-select{width:auto;min-width:132px;min-height:36px;padding:.42rem .65rem;font-size:.84rem;font-weight:700;background:#ffffffe6}.row-card p,.row-card small,.schedule-item p,.schedule-item small{margin:.18rem 0 0}.clickable{cursor:pointer}.clickable:hover,.day-card:hover,.row-card:hover,.schedule-item:hover,.suggestions button:hover{border-color:#0a84ff38;transform:translateY(-1px);box-shadow:0 16px 34px #0f172a1c}.reset-button{text-align:left}.pill{white-space:nowrap;border-radius:999px;padding:.34rem .65rem;color:var(--brand-dark);background:#0a84ff1a;font-size:.78rem;font-weight:700}.bar-row{display:grid;grid-template-columns:110px 1fr 44px;gap:.75rem;align-items:center;margin-top:.8rem}.bar-row div{height:10px;overflow:hidden;border-radius:999px;background:#0f172a0f}.bar-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--accent))}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem}.weekday{padding:.3rem .4rem;color:var(--muted);font-size:.78rem;text-align:right;letter-spacing:.04em}.day-card{min-height:116px;padding:.7rem;color:var(--ink);text-align:left;cursor:pointer;background:#ffffffd6}.day-card.dim{background:#f8fafccc;color:var(--muted)}.day-card.today{border-color:#0a84ff47;box-shadow:0 0 0 1px #0a84ff2e,var(--shadow-soft)}.day-card.selected{outline:3px solid rgba(10,132,255,.12);border-color:#0a84ff66}.day-card header{display:flex;justify-content:space-between;margin-bottom:.45rem}.day-card header span{min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;color:#fff;background:linear-gradient(180deg,#4ca5ff,#0a84ff);font-size:.76rem;font-weight:800}.job-chip{display:block;margin-top:.4rem;padding:.48rem .55rem;border-radius:14px;background:#0a84ff14;font-weight:700}.job-chip small{display:block;font-weight:600}.more-jobs{display:block;margin-top:.35rem}.day-panel{position:sticky;top:1rem;align-self:start;padding:1rem}.suggestions{display:grid;gap:.4rem}.suggestions button{display:grid;gap:.15rem;padding:.7rem .78rem;text-align:left;background:#ffffffdb}.client-picker,.inline-create,.quick-client-form{display:grid;gap:.65rem}.quick-client-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;padding:.85rem;background:#f5f8fccc}.linked-client{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.7rem .8rem;color:var(--brand-dark);background:#0a84ff14}.photo-form{display:grid;grid-template-columns:1.3fr 150px 1fr auto;gap:.75rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-top:1rem}.photo-grid figure{margin:0}.photo-grid img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:18px}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(460px,100%);padding:1.45rem;background:linear-gradient(180deg,#ffffffeb,#f5f8fcd6)}.login-card h1{margin:.2rem 0 1rem;font-size:clamp(1.75rem,1.2rem + 1.2vw,2.35rem);line-height:1.05;letter-spacing:-.04em}.login-card form{display:grid;gap:.85rem}.error,.success{margin:0;border-radius:16px;padding:.72rem .85rem;font-weight:700}.error{color:var(--danger);background:#d92d2014}.success{color:var(--good);background:#1a8f4c14}.search,.compact-input{max-width:280px}.loading{margin:2rem 0;color:var(--muted)}.prose{line-height:1.65}.mobile-nav{display:none}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;margin:1rem 1rem 0}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two-col,.calendar-layout,.wide-left{grid-template-columns:1fr}.day-panel{position:static}}@media(max-width:820px){.sidebar{display:none}.content{padding:.7rem .7rem calc(6.5rem + env(safe-area-inset-bottom))}.hero{align-items:stretch;flex-direction:column;gap:.75rem;padding:.95rem;margin-bottom:.7rem}.hero h1{font-size:1.35rem}.panel{padding:.86rem}.stats-grid,.form-grid,.photo-form{grid-template-columns:1fr}.form-section{padding:.85rem;border-radius:18px}.section-head,.search-row,.client-fields{grid-template-columns:1fr}.section-head{align-items:stretch;flex-direction:column}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:.7rem}.quick-action{min-height:72px}.quick-client-form{grid-template-columns:1fr}.linked-client{align-items:stretch;flex-direction:column}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:.7rem}.stat-card{padding:.78rem}.two-col,.calendar-layout,.wide-left{gap:.7rem;margin-bottom:.7rem}.mobile-tabs{position:sticky;top:.55rem;z-index:6;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:0 -.1rem .7rem;padding:.35rem;border:1px solid rgba(255,255,255,.65);border-radius:18px;background:#ffffffc2;-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%)}.mobile-tabs button{min-height:42px;border:0;border-radius:14px;color:var(--muted);background:transparent;font-weight:800}.mobile-tabs button.active{color:#fff;background:linear-gradient(180deg,#4ca5ff,#0a84ff);box-shadow:0 10px 20px #0a84ff40}.mobile-tabs button:disabled{opacity:.42}.mobile-pane.mobile-hidden{display:none}.calendar-grid{gap:.32rem}.weekday{display:block;padding:.2rem;text-align:center;font-size:.68rem}.day-card{min-height:54px;padding:.4rem;border-radius:14px}.day-card.dim{opacity:.4}.day-card header{margin-bottom:0}.day-card header span{min-width:18px;height:18px;font-size:.66rem}.day-card .job-chip{width:6px;height:6px;margin:.3rem 0 0;padding:0;border-radius:999px;overflow:hidden;color:transparent}.day-card .job-chip small,.more-jobs{display:none}.row-card,.schedule-item{align-items:stretch;flex-direction:column;gap:.7rem;padding:.8rem}.row-actions{justify-content:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.icon-action,.status-select,.pill{width:100%;min-height:40px;justify-content:center;text-align:center}.status-select{min-width:0}.panel-head{align-items:stretch;flex-direction:column}.search,.compact-input{max-width:none}.mobile-nav{position:fixed;left:.65rem;right:.65rem;bottom:calc(.65rem + env(safe-area-inset-bottom));z-index:10;display:grid;grid-template-columns:repeat(5,1fr);gap:.3rem;padding:.35rem;border:1px solid rgba(255,255,255,.65);border-radius:22px;background:#ffffffc2;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:var(--shadow)}.mobile-nav a{display:grid;gap:.1rem;min-height:50px;align-content:center;text-align:center;font-size:.76rem}.mobile-nav a.active{color:#fff;background:linear-gradient(180deg,#4ca5ff,#0a84ff);box-shadow:0 10px 20px #0a84ff38}.mobile-nav a span{display:block;font-size:1rem;line-height:1}.mobile-nav .mobile-add{color:#fff;background:linear-gradient(180deg,#4ca5ff,#0a84ff)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
