/* A-1 v18: scoped homeowner glassmorphism dashboard; never changes public, login or project pages. */
.glass-dashboard{--ink:#292a28;--mute:#696661;--glass-border:rgba(255,255,255,.49);--card-bg:rgba(255,255,255,.46);--glass-shadow:0 14px 38px rgba(82,58,48,.095);background:#d9cdc3;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;min-height:100vh;isolation:isolate}
.glass-dashboard button,.glass-dashboard input{font:inherit}
.glass-backdrop{z-index:-1;position:fixed;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse 32% 53% at 72% -9%,rgba(125,77,57,.37),transparent 90%),radial-gradient(ellipse 53% 40% at 5% 16%,rgba(244,231,214,.82),transparent 80%),linear-gradient(125deg,#eee3d9 0%,#d2c1b5 42%,#b49c91 79%,#e4d4c8 100%)}
.glass-backdrop span{position:absolute;display:block;filter:blur(70px);border-radius:50%;opacity:.5}.glass-backdrop span:nth-child(1){width:420px;height:340px;left:15%;top:42%;background:#fff5ec}.glass-backdrop span:nth-child(2){width:480px;height:410px;right:-120px;top:24%;background:#8f6c60;opacity:.38}.glass-backdrop span:nth-child(3){width:530px;height:260px;left:36%;bottom:-120px;background:#ddad99;opacity:.3}
.glass-shell{min-height:100vh;max-width:1780px;margin:auto;padding:14px 18px 0;position:relative}
.glass-dashboard .glass-topbar{height:65px;border:1px solid rgba(255,255,255,.54);border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:9px 21px;background:rgba(248,240,235,.46);box-shadow:0 6px 23px rgba(72,51,45,.075);backdrop-filter:blur(23px) saturate(130%);-webkit-backdrop-filter:blur(23px) saturate(130%);position:relative;z-index:2;color:#2e2a28}
.glass-brand{display:flex;align-items:center;gap:9px;min-width:190px}.glass-brand img{width:38px;height:38px;object-fit:contain}.glass-brand strong{font-family:Georgia,serif;font-size:23px;display:block;line-height:1;color:#513e32}.glass-brand small{display:block;font-size:8px;font-weight:800;letter-spacing:2px;line-height:1.6}.glass-welcome{font-size:13px;color:#57504c;display:flex;align-items:center;gap:9px;white-space:nowrap}.glass-welcome strong{color:#322d2a}.welcome-bullet{width:9px;height:9px;border-radius:50%;background:#d38e69;box-shadow:0 0 0 5px #d38e6929}.glass-header-actions{display:flex;align-items:center;gap:13px}.glass-role{font-weight:700;letter-spacing:1.25px;font-size:10px;color:#8b7160;white-space:nowrap}.glass-signout{background:transparent;border:1px solid rgba(120,95,79,.23);border-radius:10px;padding:10px 13px;color:#4e423b;font-size:12px;white-space:nowrap}.glass-signout:hover,.glass-signout:focus-visible{background:#ffffff65}.glass-signout:disabled{opacity:.5}.glass-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border-radius:11px;background:linear-gradient(135deg,#352e2a,#625044);border:1px solid rgba(46,36,29,.45);color:#fffaf6;font-size:13px;font-weight:650;box-shadow:0 7px 15px rgba(54,42,36,.16);white-space:nowrap;transition:transform .15s,box-shadow .15s}.glass-btn:hover{transform:translateY(-1px);box-shadow:0 10px 19px rgba(54,42,36,.22)}.glass-btn-sm{padding:9px 14px;font-size:12px}.glass-btn-lg{padding:15px 22px}.btn-plus{font-size:21px;line-height:.7;font-weight:350}
.glass-rail{position:fixed;z-index:3;top:99px;left:max(20px,calc((100vw - 1780px)/2 + 20px));width:64px;padding:15px 7px;display:flex;align-items:center;flex-direction:column;gap:6px;border:1px solid rgba(255,255,255,.6);border-radius:20px;background:rgba(251,247,244,.5);box-shadow:var(--glass-shadow);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.rail-item{width:49px;min-height:53px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:#655c56}.rail-item svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.rail-item span{font-size:9px;font-weight:650}.rail-item:hover{background:#ffffff7c;color:#3b312b}.rail-item.rail-active{background:#3c312d;color:#fffaf5;box-shadow:0 6px 13px #4d352634}
.glass-dashboard .glass-main{max-width:1430px;min-width:0;margin:0 auto;padding:38px 32px 50px 99px}.glass-dashboard .glass-loading{padding-top:68px;font-size:14px;color:#443d38}.glass-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.glass-overline{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#8d6957;margin:0 0 11px;line-height:1.4}.overline-dot{margin:0 6px}.glass-dashboard .glass-page-heading h1{color:#2d2927;font-weight:650;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(34px,3.7vw,52px);letter-spacing:-2.1px;line-height:1.07;margin:0 0 10px}.heading-period{color:#c57552}.glass-subtitle{font-size:13px;color:#635b56;margin:0;line-height:1.6}
.glass-dashboard section.glass-card,.glass-card{border:1px solid var(--glass-border);border-radius:17px;background:var(--card-bg);box-shadow:var(--glass-shadow);backdrop-filter:blur(23px) saturate(145%);-webkit-backdrop-filter:blur(23px) saturate(145%)}
.glass-dashboard section.glass-card{padding:23px 25px}.glass-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 15px;padding:0!important}.metric-card{padding:19px 20px 18px;min-width:0;min-height:143px}.metric-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:650;font-size:12px;color:#4c4642}.metric-icon{height:29px;width:29px;background:#ffffff83;border:1px solid #fff;border-radius:9px;display:grid;place-items:center;font-size:17px;color:#b07355;flex-shrink:0}.metric-card strong{display:block;color:#2d2926;font-size:33px;line-height:1.3;margin:13px 0 3px;letter-spacing:-1px}.metric-card p{color:#80766e;font-size:11px;margin:0;line-height:1.4}
.glass-analytics{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr);gap:15px;margin-bottom:15px;padding:0!important}.analytics-card{padding:23px 25px;min-height:300px;min-width:0}.glass-panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.glass-panel-title .glass-overline{margin-bottom:7px}.glass-dashboard .glass-panel-title h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:17px;font-weight:725;letter-spacing:-.5px;margin:0;color:#302b28;line-height:1.35}.glass-caption{color:#82776f;font-size:11px;line-height:1.6;margin:0}.glass-link{color:#6f4635;font-size:12px;font-weight:750;white-space:nowrap}.glass-link:hover{text-decoration:underline}.activity-graph{width:100%;height:212px;position:relative}.activity-graph svg{display:block;width:100%;height:100%}.chart-empty{position:absolute;inset:35% 5% auto;text-align:center;color:#736a65;font-size:12px;background:rgba(248,241,234,.72);border-radius:8px;padding:9px 12px}.service-graph{display:flex;align-items:center;gap:24px;min-height:191px}.glass-donut{width:168px;height:168px;flex:0 0 168px;border-radius:50%;display:grid;place-items:center;background:#d1c3b8;position:relative;box-shadow:0 10px 24px #72584e20}.glass-donut:after{content:"";background:rgba(247,237,230,.96);width:108px;height:108px;position:absolute;inset:30px;border-radius:50%;box-shadow:inset 0 2px 10px #8c796520}.donut-middle{z-index:1;text-align:center;display:flex;flex-direction:column;gap:2px}.donut-middle strong{font-size:24px;line-height:1.2}.donut-middle span{font-size:10px;color:#82776e}.service-legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}.legend-item{display:flex;align-items:center;gap:8px;min-width:0;font-size:11px;color:#5b504a}.legend-dot{flex:0 0 9px;width:9px;height:9px;border-radius:50%}.legend-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.legend-value{font-variant-numeric:tabular-nums;font-weight:700;color:#362d29}
.glass-dashboard section.projects-card{margin-bottom:15px}.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 4px}.project-filters{display:flex;gap:4px;padding:4px;background:rgba(255,255,255,.45);border:1px solid #ffffff83;border-radius:11px}.filter-pill{border:0;background:transparent;color:#71665e;font-size:11px;padding:8px 14px;border-radius:8px;white-space:nowrap}.filter-pill:hover{background:#fff8f5}.filter-pill.active{color:#fff;background:#544139;box-shadow:0 3px 8px #55413926}.project-search{display:flex;align-items:center;gap:7px;border:1px solid #ffffffbe;background:#ffffff73;border-radius:10px;padding:9px 11px;min-width:180px}.project-search svg{stroke:#867467;stroke-width:2;fill:none;stroke-linecap:round;width:14px;height:14px;flex-shrink:0}.project-search input{min-width:0;width:100%;max-width:220px;outline:0;border:0;background:transparent;color:#332e2c;font-size:12px}.project-search input::placeholder{color:#9b8f88}.glass-dashboard .project-list{margin:9px 0 0}.glass-dashboard .project-row{border-top:1px solid rgba(93,72,62,.16);padding:16px 6px;min-width:0}.glass-dashboard .project-row:hover{background:#ffffff50}.glass-dashboard .project-row h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:700;font-size:14px;margin:7px 0 5px;color:#39302c}.glass-dashboard .project-meta{font-size:11px;color:#85776d}.glass-dashboard .project-row .tracking{font-size:10px;color:#8c5d45;font-weight:750}.glass-dashboard .status{font-size:10px;background:#f1dfc766;border:1px solid #d6ac8299;color:#77523e;padding:4px 8px}.glass-dashboard .status-sent{background:#dcebe17d;border-color:#8caea488;color:#3a695d}.glass-dashboard .project-chevron{color:#a87f6a;font-size:22px}.glass-dashboard .rush-label{font-size:10px;color:#9c553d;font-weight:650}.glass-dashboard .empty-state{padding:26px 15px;border-top:1px solid #ffffff86;text-align:center}.glass-dashboard .empty-state h3{font-family:Inter,ui-sans-serif,sans-serif;font-size:17px;font-weight:700;color:#413832}.glass-dashboard .empty-state p{color:#736962;font-size:12px}.glass-dashboard .empty-state .glass-btn{margin:0 auto}.glass-dashboard .work-notice{color:#723b2c;background:#fff3e5c5;border:1px solid #d49e7a;border-radius:10px;font-size:12px;padding:10px 13px}
.glass-dashboard section.category-card{margin-bottom:13px}.glass-dashboard .quick-category-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:17px}.glass-dashboard .quick-category{border-radius:13px;border:1px solid rgba(255,255,255,.71);background:rgba(255,251,248,.43);min-height:87px;gap:7px;color:#3c3531;box-shadow:0 4px 13px #6c54400c;padding:10px 6px}.glass-dashboard .quick-category span{font-size:22px;filter:none}.glass-dashboard .quick-category strong{font-size:10px;line-height:1.25}.glass-dashboard .quick-category:hover{background:#fffaf0d9;box-shadow:0 8px 19px #7c645332;border-color:#fff;transform:translateY(-2px)}
.glass-dashboard .glass-disclaimer{font-size:11px;line-height:1.6;color:#746962;padding:12px 3px!important}.glass-dashboard .glass-disclaimer strong{color:#534236}.glass-dashboard .glass-footer{padding:17px 3px 25px;border-top:1px solid #fff9;display:flex;justify-content:space-between;gap:13px;font-size:10px;color:#776962}.glass-dashboard .contractor-welcome{max-width:650px;padding:35px;margin:35px auto}.glass-dashboard .contractor-welcome h1{font-family:Inter,system-ui,sans-serif;font-size:34px;letter-spacing:-1px;margin:10px 0}.glass-dashboard .contractor-welcome p{font-size:13px;color:#63564e}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.glass-dashboard .glass-main{padding:30px 12px 40px 85px}.glass-metrics{gap:9px}.metric-card{padding:16px 14px}.glass-analytics{grid-template-columns:1fr 1fr}.analytics-card{padding:18px}.glass-donut{width:132px;height:132px;flex-basis:132px}.glass-donut:after{width:86px;height:86px;inset:23px}.service-graph{gap:11px}.glass-dashboard .quick-category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:850px){.glass-welcome{display:none}.glass-role{display:none}.glass-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.glass-analytics{grid-template-columns:1fr}.analytics-card{min-height:260px}.glass-donut{width:168px;height:168px;flex-basis:168px}.glass-donut:after{width:108px;height:108px;inset:30px}}
@media(max-width:640px){.glass-shell{padding:8px 9px 0}.glass-dashboard .glass-topbar{height:58px;border-radius:13px;padding:7px 11px}.glass-brand{min-width:0;gap:5px}.glass-brand img{width:30px;height:30px}.glass-brand strong{font-size:20px}.glass-brand small{font-size:6px;letter-spacing:1.1px}.glass-header-actions{gap:7px}.glass-header-actions .glass-btn{display:none}.glass-signout{padding:8px 10px;font-size:11px}.glass-rail{top:auto;bottom:10px;left:12px;right:12px;width:auto;height:69px;flex-direction:row;justify-content:space-around;padding:6px 7px;border-radius:18px;background:rgba(251,247,242,.88)}.rail-item{min-height:53px;min-width:57px}.rail-item span{font-size:10px}.glass-dashboard .glass-main{padding:26px 5px 101px}.glass-page-heading{align-items:flex-start;gap:16px}.glass-dashboard .glass-page-heading h1{font-size:35px}.glass-btn-lg{padding:11px 13px;font-size:11px}.glass-dashboard section.glass-card{padding:17px}.metric-card{min-height:115px;padding:14px}.metric-card strong{font-size:29px;margin-top:10px}.metric-top{font-size:11px}.metric-card p{font-size:10px}.glass-dashboard .quick-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.glass-dashboard .quick-category{min-height:84px}.glass-panel-title{align-items:flex-start}.glass-dashboard .glass-panel-title h2{font-size:16px}.glass-analytics{gap:11px}.glass-metrics{margin-bottom:11px}.analytics-card{min-height:260px}.glass-dashboard .glass-disclaimer{padding:10px 4px!important}.glass-footer{display:none!important}.project-toolbar{align-items:stretch;flex-direction:column}.project-search{min-width:0}.project-search input{max-width:none}}
@media(max-width:385px){.glass-page-heading .glass-btn-lg{max-width:115px;white-space:normal;text-align:center}.service-graph{flex-direction:column;align-items:flex-start}.service-legend{width:100%}.glass-dashboard .quick-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.glass-dashboard *{transition:none!important}}

/* Owner-to-homeowner one-click switch; shown only after server permission check. */
.glass-header-actions .a1-view-switch{color:#211c18!important;background:rgba(255,251,246,.86)!important;border-color:#b59a89!important;font-weight:800}
