:root{--ink:#172824;--muted:#7c8984;--line:#e9edeb;--paper:#fff;--canvas:#f5f7f5;--green:#176d56;--green-dark:#10543f;--mint:#e9f4ef;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font);font-size:13px}button,a,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#fff;border-right:1px solid var(--line);padding:25px 16px 15px;display:flex;flex-direction:column;z-index:4}.brand{height:34px;display:flex;align-items:center;gap:9px;font:800 20px var(--display);letter-spacing:-1.1px;padding:0 6px}.brand-mark{width:25px;height:25px;border-radius:8px;background:var(--green);color:#fff;display:grid;place-items:center;font:800 17px var(--display);letter-spacing:0;box-shadow:inset 0 -4px 0 #0c573f}.brand-dot{color:#31a47a}.workspace{margin:30px 0 27px;padding:11px 9px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:10px;box-shadow:0 1px 2px #14271e05}.workspace-icon{width:32px;height:32px;border-radius:8px;background:#e8f1ec;color:#1e624d;display:grid;place-items:center;font-weight:700}.workspace strong,.workspace small,.profile strong,.profile small{display:block}.workspace strong{font-size:11px;font-weight:700}.workspace small,.profile small{color:#929e99;font-size:10px;margin-top:3px}.chevron{margin-left:auto;color:#77847f}.nav-label{color:#9ba6a1;font-size:9px;font-weight:700;letter-spacing:1px;padding:0 10px 8px}.nav-spaced{margin-top:26px}.nav-item{height:38px;border-radius:7px;display:flex;align-items:center;gap:11px;padding:0 10px;color:#66736e;font-size:12px;margin:2px 0}.nav-item:hover{background:#f6f8f6}.nav-item.active{background:#eaf4ef;color:#176d56;font-weight:700}.nav-icon{font-size:16px;width:17px;text-align:center;color:#84918b}.active .nav-icon{color:#176d56}.nav-count{margin-left:auto;background:#fff;border:1px solid #e5ece8;border-radius:5px;padding:2px 6px;font-size:10px;color:#64736c}.sidebar-bottom{margin-top:auto}.help-card{background:#f7f9f7;border:1px solid var(--line);border-radius:9px;padding:12px 12px 11px;margin-bottom:16px}.help-icon{height:23px;width:23px;display:grid;place-items:center;border-radius:7px;background:#e5f1eb;color:var(--green);font-weight:700;margin-bottom:9px}.help-card strong{font-size:11px}.help-card p{font-size:10px;color:#83908a;line-height:1.5;margin:5px 0 9px}.help-card a{color:var(--green);font-size:10px;font-weight:700}.help-card a span{float:right}.profile{border-top:1px solid var(--line);padding:15px 3px 1px;display:flex;align-items:center;gap:9px}.avatar,.top-avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#e8d9c7;color:#795c3c;font-weight:700;font-size:10px}.profile strong{font-size:11px}.more{margin-left:auto;letter-spacing:1px;color:#8d9893;font-size:12px}.main{margin-left:244px;min-height:100vh}.topbar{height:59px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 39px}.breadcrumbs{color:#9aa59f;font-size:11px}.breadcrumbs span{padding:0 8px;color:#c6ceca}.breadcrumbs strong{color:#374740;font-weight:600}.top-actions{display:flex;align-items:center;gap:18px}.icon-button{border:0;background:transparent;color:#73807a;font-size:17px;position:relative}.icon-button i{position:absolute;width:5px;height:5px;background:#e68855;border-radius:50%;right:2px;top:3px;border:1px solid #fff}.top-avatar{width:28px;height:28px}.content{max-width:1320px;margin:0 auto;padding:33px 39px 20px}.welcome-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:1.3px;color:#84928b;font-weight:700;display:flex;align-items:center;gap:7px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#49a77a}.welcome-row h1{font:700 25px var(--display);letter-spacing:-.8px;margin:10px 0 5px}.wave{font-size:20px;color:#e7a344}.subhead,.section-heading p,.panel-heading p{color:#87938e;margin:0;font-size:11px}.button{border:0;border-radius:7px;height:36px;padding:0 14px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:8px}.primary{color:#fff;background:var(--green);box-shadow:0 2px 4px #145b441c}.primary:hover{background:var(--green-dark)}.primary span{font-size:17px;font-weight:400}.secondary{background:#f4f6f4;color:#52625a}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:29px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px 16px 13px;min-height:93px;box-shadow:0 2px 4px #1a332408}.stat-top,.stat-bottom{display:flex;align-items:center;justify-content:space-between}.stat-top{font-size:10px;color:#78857f;font-weight:500}.stat-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;font-size:14px}.icon-blue{background:#edf2f8;color:#6081a8}.icon-green{background:#e8f4ed;color:#4e9672}.icon-amber{background:#fbf1df;color:#c08e36}.icon-violet{background:#f0eef7;color:#8275a9}.stat-bottom{margin-top:8px}.stat-bottom>strong{font:700 23px var(--display);letter-spacing:-.8px}.trend,.stat-note{font-size:9px;color:#8e9994}.trend b{font-weight:500}.positive{color:#39936c;background:#eef7f1;padding:5px 7px;border-radius:5px}.pending{color:#b88530;background:#fcf5e7;padding:5px 7px;border-radius:5px}.neutral{color:#6680a1}.section-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between}.section-heading{margin-bottom:13px}.section-heading h2,.panel-heading h2{font:700 15px var(--display);letter-spacing:-.3px;margin:0 0 4px}.text-link{font-size:10px;color:var(--green);font-weight:700}.text-link span{padding-left:3px;font-size:14px}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-card{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 2px 4px #1a332408}.project-art{height:119px;position:relative;overflow:hidden}.art-one{background:linear-gradient(120deg,#d8e5e4,#bed1ce 60%,#a6bcb8)}.art-two{background:linear-gradient(125deg,#d9e2df,#bdcec9)}.art-three{background:linear-gradient(120deg,#d9e0df,#becac5)}.art-tag{position:absolute;z-index:2;left:12px;top:11px;padding:4px 7px;border-radius:4px;background:#ffffffb8;color:#425a53;font-size:8px;font-weight:700;letter-spacing:.8px}.art-num{position:absolute;right:12px;top:9px;font:700 11px var(--display);color:#53706a8c}.blueprint{position:absolute;inset:32px 26px 6px;background:repeating-linear-gradient(0deg,transparent 0 16px,#ffffff66 16px 17px),repeating-linear-gradient(90deg,transparent 0 22px,#ffffff60 22px 23px);transform:perspective(100px) rotateX(6deg);opacity:.55}.blueprint-one{inset:32px 32px 0 42px;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}.building{position:absolute;bottom:-3px;background:linear-gradient(90deg,#718d87,#8ca49f);box-shadow:inset -7px 0 #6c8781;opacity:.85}.b-one{height:65px;width:42px;left:45%;transform:skewY(-9deg)}.b-two{height:45px;width:37px;left:62%;transform:skewY(-9deg);opacity:.65}.blueprint-two{inset:26px 33px 0 30px;opacity:.7}.tower{position:absolute;width:72px;height:101px;bottom:-15px;left:42%;background:repeating-linear-gradient(0deg,#8ba19b 0 11px,#b4c5c0 11px 13px);transform:perspective(80px) rotateY(-7deg);box-shadow:inset -10px 0 #748e88}.blueprint-three{inset:30px 12px 0 36px}.lowrise{position:absolute;bottom:-2px;left:38%;width:118px;height:44px;background:repeating-linear-gradient(90deg,#849c95 0 17px,#aebeb8 17px 19px);clip-path:polygon(0 28%,80% 0,100% 21%,100% 100%,0 100%)}.project-info{padding:12px 13px 11px}.project-title{display:flex;align-items:center;justify-content:space-between}.project-title h3{font-size:11px;margin:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dots{background:none;border:0;color:#8b9691;letter-spacing:1px;font-size:10px;padding:0 0 2px 6px}.project-meta{display:flex;justify-content:space-between;gap:8px;color:#909b96;font-size:9px;margin-top:7px}.project-meta span:last-child{white-space:nowrap}.project-progress{display:flex;align-items:center;gap:9px;margin-top:12px}.progress-line{height:4px;background:#edf0ee;border-radius:5px;flex:1;overflow:hidden}.progress-line span{height:100%;display:block;background:#4a9a75;border-radius:5px}.project-progress b{font-size:9px;color:#75827c;font-weight:600}.project-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid #f0f2f1}.mini-avatars{display:flex;padding-left:1px}.mini{width:21px;height:21px;margin-left:-2px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:7px;font-weight:700}.av1{background:#e9d9c4;color:#795a35}.av2{background:#d8e4ef;color:#52728e}.av3{background:#edf0eb;color:#6b7971}.av4{background:#e8d9ec;color:#7a5c80}.av5{background:#e8e6d6;color:#797349}.project-status{font-size:9px;padding:4px 8px;border-radius:4px;font-weight:600}.status-active{background:#edf6ef;color:#478260}.status-review{background:#fff5e5;color:#b1873b}.lower-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;margin-top:19px}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 2px 4px #1a332408;padding:15px 16px}.panel-heading{margin-bottom:7px}.subtle{font-size:12px}.activity-item{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #f0f2f1}.activity-avatar{flex:0 0 27px;height:27px;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:700}.activity-copy{min-width:0;flex:1}.activity-copy p{font-size:9px;color:#66746d;margin:0 0 4px;line-height:1.4}.activity-copy p strong{color:#34433c}.activity-copy p b{color:#415b4f;font-weight:600}.activity-copy span{font-size:9px;color:#9aa49f}.activity-item time{font-size:8px;color:#98a29d;white-space:nowrap;align-self:flex-start;margin-top:2px}.quick-spark{color:#57a37b;font-size:18px}.quick-action{width:100%;display:flex;align-items:center;text-align:left;gap:10px;padding:9px 2px;border:0;border-top:1px solid #f0f2f1;background:#fff}.quick-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:7px;font-size:15px}.qi-blue{background:#edf2f8;color:#6683a5}.qi-green{background:#e8f4ed;color:#4e9672}.qi-orange{background:#fbf0e5;color:#bd8957}.quick-action>span:nth-child(2){flex:1}.quick-action b,.quick-action small{display:block}.quick-action b{font-size:10px;color:#43524b}.quick-action small{font-size:9px;color:#98a29d;margin-top:3px}.quick-action i{font-size:15px;font-style:normal;color:#95a19b}.quick-action:hover b{color:var(--green)}.footer{display:flex;justify-content:space-between;margin-top:18px;padding:12px 0 0;border-top:1px solid #e8edeb;color:#a0aaa5;font-size:9px}.footer span:last-child{display:flex;gap:17px}.footer a{color:#8b9791}.footer .live-dot{width:5px;height:5px;margin-right:3px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#193b30;color:#fff;padding:11px 16px;border-radius:8px;box-shadow:0 8px 25px #132b2240;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:8}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:12px;padding:0;width:min(420px,calc(100% - 32px));box-shadow:0 20px 70px #18362c35;color:var(--ink)}dialog::backdrop{background:#17282466;backdrop-filter:blur(2px)}#projectForm{padding:24px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.dialog-head h2{font:700 21px var(--display);margin:7px 0 0}.close-dialog{border:0;background:#f3f6f3;color:#607069;width:27px;height:27px;border-radius:7px;font-size:19px;line-height:1}#projectForm label{display:block;font-size:10px;color:#68766f;font-weight:700;margin-top:14px}#projectForm input,#projectForm select{display:block;width:100%;border:1px solid #dfe7e2;border-radius:7px;background:#fff;padding:10px 11px;margin-top:6px;color:#31423a;outline:none;font-size:11px}#projectForm input:focus,#projectForm select:focus{border-color:#62a587;box-shadow:0 0 0 3px #d9eee3}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}@media(max-width:1120px){.content{padding-left:25px;padding-right:25px}.topbar{padding:0 25px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card:last-child{display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.sidebar{width:63px;padding:17px 9px}.brand{padding:0 9px}.brand>span:last-child,.workspace,.nav-label,.nav-item:not(.active),.nav-item.active{font-size:0}.brand-mark{flex:0 0 25px}.sidebar nav{margin-top:26px}.nav-item{justify-content:center;padding:0}.nav-icon{font-size:17px}.sidebar-bottom{display:none}.main{margin-left:63px}.topbar{padding:0 18px}.content{padding:24px 17px}.welcome-row h1{font-size:21px}.welcome-row{align-items:flex-start}.welcome-row>.button{margin-top:5px;padding:0 10px}.projects-grid{grid-template-columns:1fr}.project-card:last-child{display:block}.lower-grid{grid-template-columns:1fr}.footer{gap:12px;flex-direction:column}.footer span:last-child{flex-wrap:wrap;gap:12px}.project-art{height:140px}}@media(max-width:420px){.stats-grid{gap:8px}.stat-card{padding:12px}.stat-bottom>strong{font-size:20px}.trend{font-size:8px}.stat-note{font-size:8px}.topbar{height:52px}.content{padding-top:18px}.welcome-row h1{font-size:18px}.subhead{font-size:10px}.eyebrow{font-size:8px}.welcome-row>.button{font-size:10px;height:33px}}
:root{--ink:#172824;--muted:#7c8984;--line:#e6ebe8;--paper:#fff;--canvas:#f5f7f5;--green:#176d56;--green-dark:#10543f;--mint:#e9f4ef;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:13px var(--font)}button,a,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#fff;border-right:1px solid var(--line);padding:25px 16px 15px;display:flex;flex-direction:column;z-index:4}.brand{height:34px;display:flex;align-items:center;gap:9px;font:800 20px var(--display);letter-spacing:-1.1px;padding:0 6px}.brand-mark{width:25px;height:25px;border-radius:8px;background:var(--green);color:#fff;display:grid;place-items:center;font:800 17px var(--display);letter-spacing:0;box-shadow:inset 0 -4px 0 #0c573f}.brand-dot{color:#31a47a}.workspace{margin:30px 0 27px;padding:11px 9px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:10px}.workspace-icon{width:32px;height:32px;border-radius:8px;background:#e8f1ec;color:#1e624d;display:grid;place-items:center;font-weight:700}.workspace strong,.workspace small,.profile strong,.profile small{display:block}.workspace strong{font-size:11px}.workspace small,.profile small{color:#929e99;font-size:10px;margin-top:3px}.nav-label{color:#9ba6a1;font-size:9px;font-weight:700;letter-spacing:1px;padding:0 10px 8px}.nav-item{width:100%;height:38px;border:0;background:none;border-radius:7px;display:flex;align-items:center;gap:11px;padding:0 10px;color:#66736e;text-align:left;font-size:12px;margin:2px 0}.nav-item:hover{background:#f6f8f6}.nav-item.active{background:#eaf4ef;color:#176d56;font-weight:700}.nav-icon{font-size:16px;width:17px;text-align:center;color:#84918b}.active .nav-icon{color:#176d56}.nav-count{margin-left:auto;background:#fff;border:1px solid #e5ece8;border-radius:5px;padding:2px 6px;font-size:10px;color:#64736c}.sidebar-bottom{margin-top:auto}.help-card{background:#f7f9f7;border:1px solid var(--line);border-radius:9px;padding:12px;margin-bottom:16px}.help-icon{height:23px;width:23px;display:grid;place-items:center;border-radius:7px;background:#e5f1eb;color:var(--green);font-weight:700;margin-bottom:9px}.help-card strong{font-size:11px}.help-card p{font-size:10px;color:#83908a;line-height:1.5;margin:5px 0 9px}.help-card a{color:var(--green);font-size:10px;font-weight:700}.help-card a span{float:right}.profile{border-top:1px solid var(--line);padding:15px 3px 1px;display:flex;align-items:center;gap:9px}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#e8d9c7;color:#795c3c;font-weight:700;font-size:10px}.profile strong{font-size:11px}.main{margin-left:244px;min-height:100vh}.topbar{height:59px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 39px}.breadcrumbs{color:#9aa59f;font-size:11px}.breadcrumbs span{padding:0 8px;color:#c6ceca}.breadcrumbs strong{color:#374740;font-weight:600}.local-badge{display:flex;align-items:center;gap:6px;background:#f3f8f5;border:1px solid #e3eee7;color:#59816b;border-radius:20px;padding:6px 9px;font-size:9px}.local-badge i{width:5px;height:5px;border-radius:50%;background:#49a77a}.content{max-width:1500px;margin:0 auto;padding:33px 39px 20px}.welcome-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:1.3px;color:#84928b;font-weight:700;display:flex;align-items:center;gap:7px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#49a77a}.welcome-row h1,.drawing-header h1{font:700 25px var(--display);letter-spacing:-.8px;margin:10px 0 5px}.subhead{color:#87938e;margin:0;font-size:11px}.button{border:0;border-radius:7px;height:36px;padding:0 14px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.primary{color:#fff;background:var(--green);box-shadow:0 2px 4px #145b441c}.primary:hover{background:var(--green-dark)}.primary span{font-size:17px;font-weight:400}.secondary{background:#f4f6f4;color:#52625a;border:1px solid #e5eae7}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:29px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px 16px 13px;min-height:93px;box-shadow:0 2px 4px #1a332408}.stat-top,.stat-bottom{display:flex;align-items:center;justify-content:space-between}.stat-top{font-size:10px;color:#78857f;font-weight:500}.stat-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;font-size:14px}.icon-blue{background:#edf2f8;color:#6081a8}.icon-green{background:#e8f4ed;color:#4e9672}.icon-amber{background:#fbf1df;color:#c08e36}.icon-violet{background:#f0eef7;color:#8275a9}.stat-bottom{margin-top:8px}.stat-bottom>strong{font:700 23px var(--display);letter-spacing:-.8px}.stat-note{font-size:9px;color:#8e9994}.section-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between}.section-heading{margin-bottom:13px}.section-heading h2,.panel-heading h2{font:700 15px var(--display);letter-spacing:-.3px;margin:0 0 4px}.section-heading p,.panel-heading p{color:#87938e;margin:0;font-size:11px}.text-link{font-size:10px;color:var(--green);font-weight:700;background:none;border:0}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-card{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 2px 4px #1a332408}.project-art{height:108px;position:relative;overflow:hidden}.art-three{background:linear-gradient(120deg,#d9e0df,#becac5)}.art-tag{position:absolute;z-index:2;left:12px;top:11px;padding:4px 7px;border-radius:4px;background:#ffffffb8;color:#425a53;font-size:8px;font-weight:700;letter-spacing:.8px}.art-num{position:absolute;right:12px;top:9px;font:700 11px var(--display);color:#53706a8c}.blueprint{position:absolute;inset:30px 12px 0 36px;background:repeating-linear-gradient(0deg,transparent 0 16px,#ffffff66 16px 17px),repeating-linear-gradient(90deg,transparent 0 22px,#ffffff60 22px 23px);transform:perspective(100px) rotateX(6deg);opacity:.55}.lowrise{position:absolute;bottom:-2px;left:38%;width:118px;height:44px;background:repeating-linear-gradient(90deg,#849c95 0 17px,#aebeb8 17px 19px);clip-path:polygon(0 28%,80% 0,100% 21%,100% 100%,0 100%)}.project-info{padding:12px 13px 11px}.project-title{display:flex;align-items:center;justify-content:space-between;gap:5px}.project-title h3{font-size:11px;margin:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dots{background:none;border:0;color:#59816b;font-size:9px;padding:0;white-space:nowrap}.project-meta{display:flex;justify-content:space-between;gap:8px;color:#909b96;font-size:9px;margin-top:7px}.project-meta span:last-child{white-space:nowrap}.project-progress{display:flex;align-items:center;gap:9px;margin-top:12px}.progress-line{height:4px;background:#edf0ee;border-radius:5px;flex:1;overflow:hidden}.progress-line span{height:100%;display:block;background:#4a9a75;border-radius:5px}.project-progress b{font-size:9px;color:#75827c;font-weight:600}.project-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid #f0f2f1}.project-status{font-size:9px;padding:4px 8px;border:0;border-radius:4px;font-weight:600}.status-active{background:#edf6ef;color:#478260}.empty-state{margin-top:14px;background:#fff;border:1px dashed #d5dfda;border-radius:10px;padding:44px 20px;text-align:center}.empty-state h3,.drawing-placeholder h3{margin:10px 0 5px;font:700 16px var(--display)}.empty-state p,.drawing-placeholder p{color:#87938e;font-size:11px;max-width:470px;line-height:1.6;margin:0 auto 16px}.empty-mark{margin:auto;width:41px;height:41px;display:grid;place-items:center;border-radius:12px;background:#eaf4ef;color:#397d60;font-size:20px}.footer{display:flex;justify-content:space-between;gap:12px;margin-top:20px;padding:12px 0 0;border-top:1px solid #e8edeb;color:#a0aaa5;font-size:9px}.footer>span:last-child{display:flex;gap:15px;align-items:center}.footer button,.footer a{color:#718179;background:none;border:0;padding:0;font-size:9px}.notice{color:#9ba5a0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#193b30;color:#fff;padding:11px 16px;border-radius:8px;box-shadow:0 8px 25px #132b2240;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:9}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:12px;padding:0;width:min(430px,calc(100% - 32px));max-height:min(90vh,700px);overflow:auto;box-shadow:0 20px 70px #18362c35;color:var(--ink)}dialog::backdrop{background:#17282466;backdrop-filter:blur(2px)}dialog form{padding:24px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.dialog-head h2{font:700 21px var(--display);margin:7px 0 0}.close-dialog{border:0;background:#f3f6f3;color:#607069;width:27px;height:27px;border-radius:7px;font-size:19px;line-height:1}.dialog-copy{font-size:11px;color:#77857d;line-height:1.5;margin:-5px 0 12px}dialog label{display:block;font-size:10px;color:#68766f;font-weight:700;margin-top:12px}dialog input,dialog select{display:block;width:100%;border:1px solid #dfe7e2;border-radius:7px;background:#fff;padding:10px 11px;margin-top:6px;color:#31423a;outline:none;font-size:11px}dialog input:focus,dialog select:focus{border-color:#62a587;box-shadow:0 0 0 3px #d9eee3}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.project-rows{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.project-row{display:flex;align-items:center;gap:13px;width:100%;padding:14px;border:0;border-bottom:1px solid #eff2f0;background:#fff;text-align:left}.project-row:hover{background:#f8faf8}.project-row-icon{width:34px;height:34px;border-radius:8px;background:#eaf4ef;display:grid;place-items:center;color:#367b5e}.project-row>span:nth-child(2){flex:1}.project-row b,.project-row small{display:block}.project-row b{font-size:11px}.project-row small{margin-top:4px;color:#89968f;font-size:10px}.row-arrow{font-size:16px;color:#668274}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 2px 4px #1a332408;padding:15px 16px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:10px}th{color:#85928b;font-weight:600;background:#fafbfa}td,th{padding:12px;border-bottom:1px solid #edf0ee}td{color:#52625a}td b{color:#30443a}.catalog-delete,.remove-measure{border:0;background:transparent;color:#a3ada7;font-size:16px}.empty-inline{text-align:center;color:#87938e;padding:28px;font-size:11px}.drawing-header{display:flex;align-items:center;gap:18px;margin-bottom:18px}.drawing-header h1{font-size:20px;margin:0 0 4px}.drawing-head-actions{margin-left:auto;display:flex;gap:8px}.back-link{border:0;background:none;color:#367b5e;font-weight:700;font-size:11px;padding:7px 0}.drawing-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;height:calc(100vh - 160px);min-height:510px}.drawing-panel,.ledger-panel{background:#fff;border:1px solid var(--line);border-radius:9px;min-width:0;overflow:hidden;display:flex;flex-direction:column}.drawing-toolbar{display:flex;align-items:center;gap:9px;padding:9px 11px;border-bottom:1px solid var(--line);min-height:48px}.drawing-toolbar>select{min-width:100px;max-width:200px;flex:1;padding:7px;border:1px solid #e1e8e3;background:#fff;border-radius:6px;color:#3b5145;font-size:10px}.toolbar-tools,.page-controls{display:flex;align-items:center;gap:3px}.tool,.page-controls button{width:28px;height:28px;border:0;border-radius:5px;background:#fff;color:#66776e;font-size:14px}.tool:hover,.page-controls button:hover{background:#f1f6f2}.tool.active{background:#e7f3eb;color:#176d56}.page-controls{margin-left:auto;gap:2px}.page-controls span{font-size:9px;color:#76837d;white-space:nowrap;padding:0 3px}.page-controls button:disabled{opacity:.35;cursor:default}.calibration-bar{display:flex;align-items:center;gap:10px;min-height:42px;padding:6px 11px;background:#fff9eb;border-bottom:1px solid #f0e8d6;color:#97753a;font-size:9px}.calibration-bar .button{height:26px;font-size:9px;padding:0 9px}.calibration-bar>span:first-child{flex:1}.calibration-bar.calibrated{background:#eff7f1;border-color:#e2eee5;color:#568067}.canvas-wrap{position:relative;flex:1;min-height:0;overflow:auto;background:#e9eeeb;display:grid;place-items:start center;padding:16px}.canvas-wrap:has(.drawing-placeholder:not(.hidden)){display:flex;align-items:center;justify-content:center}.drawing-placeholder{text-align:center;max-width:490px;padding:20px}.drawing-placeholder .button{margin:0 auto}.drawing-placeholder p{max-width:430px}.pdf-stage{position:relative;box-shadow:0 3px 13px #253b3028;background:white;flex:none}#pdfStage{position:relative;box-shadow:0 3px 13px #253b3028;background:white;flex:none}#pdfCanvas{display:block}.canvas-wrap #markupLayer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;touch-action:none}.mark polyline{fill:none;stroke:#1b9a68;stroke-width:.004;vector-effect:non-scaling-stroke}.mark polygon{fill:#48b88433;stroke:#188457;stroke-width:.003;vector-effect:non-scaling-stroke}.mark circle{fill:#fff;stroke:#178458;stroke-width:.004;vector-effect:non-scaling-stroke}.mark-count circle{fill:#e8a341;stroke:#fff;stroke-width:.003;vector-effect:non-scaling-stroke}.mark text{font:bold .012px sans-serif;text-anchor:middle;dominant-baseline:central;fill:#fff;pointer-events:none}.preview{fill:none;stroke:#e48c3a;stroke-width:.004;stroke-dasharray:.01 .006;vector-effect:non-scaling-stroke}.drawing-status{height:30px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 11px;color:#89958f;font-size:9px}.ledger-heading{padding:13px 14px 9px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eff2f0}.ledger-heading h2{font:700 14px var(--display);margin:0 0 4px}.ledger-heading p{font-size:9px;color:#89958f;margin:0}.icon-button{border:0;background:#f2f6f3;color:#3a7e5e;width:26px;height:26px;border-radius:6px;font-size:16px}.ledger-tools{display:flex;gap:6px;padding:9px 10px;border-bottom:1px solid #eff2f0}.ledger-tools input,.ledger-tools select{min-width:0;width:0;flex:1;border:1px solid #e5eae7;border-radius:5px;padding:7px;font-size:9px;color:#56665e;background:#fff}.ledger-rows{overflow:auto;flex:1}.ledger-row{padding:11px 13px;border-bottom:1px solid #eff2f0}.ledger-row-top{display:flex;align-items:center;justify-content:space-between}.type-pill{padding:3px 6px;border-radius:4px;background:#edf5f0;color:#558267;font-size:8px;text-transform:capitalize}.type-area{background:#edf1fa;color:#6379a1}.type-count{background:#fff4e4;color:#a67d37}.ledger-row>b{display:block;margin-top:7px;font-size:10px;color:#3d5046}.ledger-row>small{display:block;margin-top:4px;font-size:8px;color:#929d97}.ledger-quantity{display:flex;align-items:baseline;gap:5px;margin-top:7px;color:#718078}.ledger-quantity strong{font:700 17px var(--display);color:#285a43}.ledger-quantity span{font-size:9px}.ledger-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#9aa59f;text-align:center;padding:20px}.ledger-empty>span{font-size:23px;color:#7ca58b}.ledger-empty b{font-size:10px;color:#65776d}.ledger-empty small{font-size:9px}.ledger-total{border-top:1px solid var(--line);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;color:#76847c;font-size:10px}.ledger-total strong{color:#285a43;font-size:11px}.tool-hint{font-size:9px}@media(max-width:1100px){.content{padding-left:25px;padding-right:25px}.topbar{padding:0 25px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drawing-layout{grid-template-columns:minmax(0,1fr) 285px}.page-controls span{max-width:75px;overflow:hidden}}@media(max-width:850px){.drawing-layout{height:auto;min-height:0;grid-template-columns:1fr}.drawing-panel{height:68vh;min-height:490px}.ledger-panel{min-height:340px}.drawing-toolbar{flex-wrap:wrap}.drawing-toolbar>select{max-width:none}.page-controls{margin-left:0}.drawing-header{flex-wrap:wrap}.drawing-head-actions{margin-left:auto}}@media(max-width:650px){.sidebar{width:60px;padding:17px 8px}.brand{padding:0 8px}.brand>span:last-child,.workspace,.nav-label,.nav-item{font-size:0}.brand-mark{flex:0 0 25px}.sidebar nav{margin-top:25px}.nav-item{justify-content:center;padding:0}.nav-icon{font-size:17px}.nav-count{display:none}.sidebar-bottom{display:none}.main{margin-left:60px}.topbar{padding:0 14px}.content{padding:20px 13px}.welcome-row h1{font-size:20px}.welcome-row{align-items:flex-start;gap:8px}.welcome-row>.button{margin-top:5px;padding:0 9px}.projects-grid{grid-template-columns:1fr}.stats-grid{gap:8px}.stat-card{padding:12px}.footer{flex-direction:column}.footer>span:last-child{flex-wrap:wrap}.drawing-layout{margin:0 -3px}.drawing-toolbar{gap:4px;padding:7px}.toolbar-tools{order:2}.page-controls{order:3}.drawing-toolbar>select{order:1;flex-basis:100%}.calibration-bar{flex-wrap:wrap}.drawing-head-actions{width:100%;margin:0}.drawing-head-actions .button{flex:1}.drawing-header{gap:9px}.drawing-header h1{font-size:17px}.canvas-wrap{padding:10px}.notice{display:none}}@media(max-width:390px){.local-badge{font-size:0;padding:8px}.local-badge i{width:7px;height:7px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-note{font-size:8px}.welcome-row h1{font-size:17px}.subhead{font-size:10px}.eyebrow{font-size:8px}}
.projects-grid .project-card:last-child{display:block}
.delete-project{border:0;background:transparent;color:#a17870;font-size:18px;padding:6px 10px}.project-row .open-row{height:29px;font-size:9px;padding:0 9px}.project-row{border-bottom:1px solid #eff2f0}.project-row:last-child{border-bottom:0}
.project-row-date{margin-left:auto;color:#89958f;font-size:10px;white-space:nowrap}.delete-project{width:32px;height:32px;display:grid;place-items:center;border:1px solid #eadfdd;border-radius:50%;background:rgba(255,255,255,.72);color:#9a5f57;font-size:18px;padding:0;flex:0 0 auto}.delete-project:hover{background:#fbefed;border-color:#dfc4bf;color:#8a3e35}.project-rows:empty{display:none}@media(max-width:650px){.project-row{flex-wrap:wrap;gap:8px;padding:12px}.project-row-detail{min-width:calc(100% - 48px);flex:1}.project-row-date{margin-left:48px;flex:1}.project-row .open-row{margin-left:auto}}
.guide-link{display:block;width:100%;padding:0;text-align:left;color:var(--green);font-size:10px;font-weight:700;background:none;border:0}.guide-link span{float:right}.guide-content{padding:24px}.guide-step{display:flex;gap:11px;padding:12px 0;border-top:1px solid #edf1ee}.guide-step>span{flex:0 0 23px;width:23px;height:23px;border-radius:50%;background:#eaf4ef;color:#337755;display:grid;place-items:center;font-size:10px;font-weight:700}.guide-step b{font-size:11px;color:#354b3e}.guide-step p{font-size:10px;line-height:1.55;color:#78867e;margin:4px 0 0}.guide-step p strong{color:#42634e}.guide-note{background:#fff8e9;border:1px solid #f0e7d5;border-radius:7px;padding:10px;color:#8e7441;font-size:9px;line-height:1.5;margin-top:8px}
body:not(.authenticated) .workspace-ui{display:none}.login-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px 24px;background:radial-gradient(ellipse at 9% 8%,#e8f2ec 0,transparent 33%),#f4f7f4}.login-brand{width:min(100%,1020px);display:flex;align-items:center;gap:9px;margin-bottom:19px;font:800 19px var(--display);letter-spacing:-1px}.login-card{width:min(100%,1020px);min-height:570px;background:#fff;border:1px solid #e4eae6;border-radius:15px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 18px 70px #173b2d12}.login-art{position:relative;overflow:hidden;background:linear-gradient(145deg,#153e31,#195d46 60%,#227458);color:white;padding:38px;display:flex;flex-direction:column;justify-content:flex-end}.login-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#102d2500 35%,#102d2585)}.login-art-copy,.login-art-foot{position:relative;z-index:1}.login-art-copy>span{font-size:9px;letter-spacing:1.8px;color:#b6d9c7;font-weight:700}.login-art-copy h2{font:700 32px/1.18 var(--display);letter-spacing:-1px;margin:13px 0}.login-art-copy p{max-width:290px;color:#cee0d7;font-size:11px;line-height:1.6;margin:0}.login-art-foot{margin-top:32px;font-size:8px;letter-spacing:1.7px;color:#a9cdbb}.art-orbit{position:absolute;border:1px solid #ffffff21;border-radius:50%;width:430px;height:430px;top:30px;left:50%;transform:translateX(-42%)}.orbit-two{width:320px;height:320px;top:84px;transform:translateX(-51%);border-color:#ffffff2b}.login-blueprint{position:absolute;top:90px;left:50%;width:245px;height:230px;transform:translateX(-38%) rotate(-8deg);border:1px solid #b9dcc747;background:linear-gradient(90deg,#c3e1d020 1px,transparent 1px),linear-gradient(#c3e1d020 1px,transparent 1px);background-size:23px 23px;clip-path:polygon(10% 14%,72% 0,100% 23%,88% 83%,23% 100%,0 58%)}.login-blueprint span{position:absolute;border:1px solid #d2eadb80}.login-blueprint span:nth-child(1){inset:22% 25% 20% 20%}.login-blueprint span:nth-child(2){left:50%;top:22%;bottom:20%}.login-blueprint span:nth-child(3){left:20%;right:25%;top:49%}.login-blueprint span:nth-child(4){left:20%;right:25%;top:72%}.login-blueprint i{position:absolute;width:9px;height:9px;border-radius:50%;background:#d7af68;left:48%;top:47%;box-shadow:0 0 20px #e9c47f}.login-form-side{display:flex;align-items:center;justify-content:center;padding:38px}.login-form-wrap{width:min(100%,340px)}.login-form-wrap h1{font:700 26px var(--display);letter-spacing:-.8px;margin:13px 0 5px}.login-subtitle{font-size:11px;color:#89958f;line-height:1.5;margin:0 0 24px}.login-form-wrap form>label{display:block;margin:14px 0 0;color:#53645a;font-size:10px;font-weight:700}.login-form-wrap input[type=email],.password-wrap input{display:block;width:100%;height:39px;border:1px solid #e0e7e2;border-radius:7px;padding:0 11px;margin-top:7px;outline:none;color:#31433a;font-size:11px;background:#fff}.login-form-wrap input:focus{border-color:#67a487;box-shadow:0 0 0 3px #e1f0e7}.demo-label{float:right;color:#b8863a;font-size:8px;letter-spacing:.6px}.password-wrap{position:relative}.password-wrap input{padding-right:51px}.password-wrap button{position:absolute;right:9px;top:17px;border:0;background:none;color:#73847a;font-size:9px}.login-options{display:flex;justify-content:space-between;align-items:center;margin:14px 0 18px}.remember-option{display:flex!important;align-items:center;gap:6px!important;color:#738179!important;font-size:9px!important;font-weight:500!important;margin:0!important}.remember-option input{accent-color:#176d56;margin:0}.forgot-hint{font-size:9px;color:#9aa49e}.login-submit{width:100%;height:40px;font-size:11px}.login-submit span{margin-left:auto}.login-notice{display:flex;gap:8px;padding:10px 11px;margin-top:15px;border:1px solid #f0e7d6;border-radius:7px;background:#fffaf0}.login-notice>span{flex:0 0 15px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:#f1e2c5;color:#98783f;font-size:9px;font-weight:700}.login-notice p{margin:0;color:#8e7b58;font-size:8px;line-height:1.55}.login-foot{text-align:center;margin-top:20px;color:#8d9992;font-size:9px}.login-foot a{color:#277454;font-weight:700}.login-copyright{width:min(100%,1020px);display:flex;justify-content:space-between;color:#a1aaa5;font-size:9px;padding-top:15px}.login-copyright span{color:#819188}.signout-button{border:1px solid #e2e9e4;background:#fff;border-radius:6px;color:#6d7c73;padding:6px 10px;font-size:10px}.signout-button:hover{color:#176d56;background:#f3f8f4}@media(max-width:760px){.login-screen{padding:20px 14px}.login-card{grid-template-columns:1fr;min-height:0;max-width:480px}.login-art{min-height:185px;padding:23px}.login-art .login-blueprint{width:160px;height:145px;top:4px;left:auto;right:-5px;transform:rotate(-8deg)}.login-art .art-orbit{width:230px;height:230px;left:auto;right:-44px;top:-80px;transform:none}.login-art .orbit-two{width:175px;height:175px;right:-15px;top:-54px}.login-art-copy h2{font-size:23px;margin:8px 0}.login-art-copy p,.login-art-foot{display:none}.login-art-copy>span{font-size:8px}.login-form-side{padding:28px 24px 24px}.login-form-wrap h1{font-size:23px}.login-subtitle{margin-bottom:18px}.login-brand,.login-copyright{max-width:480px}.login-copyright{padding-left:3px;padding-right:3px}}@media(max-width:390px){.login-form-side{padding:22px 18px}.login-art{min-height:160px}.login-art-copy h2{font-size:21px}.login-brand{margin-bottom:12px}}
body.authenticated .login-screen{display:none}
.login-screen{position:relative;isolation:isolate;overflow:hidden}.login-screen:before,.login-screen:after{content:"";position:absolute;inset:-45%;z-index:0;pointer-events:none}.login-screen:before{opacity:.33;background:linear-gradient(90deg,#2c725514 1px,transparent 1px),linear-gradient(#2c725514 1px,transparent 1px);background-size:52px 52px;transform:perspective(700px) rotateX(56deg) rotateZ(-17deg) scale(1.4);transform-origin:center 55%;animation:plan-drift 34s linear infinite}.login-screen:after{inset:auto;width:52vw;height:52vw;min-width:440px;min-height:440px;right:-17vw;top:-27vw;border-radius:50%;background:radial-gradient(circle,#9ac9a933 0, #bad8bf20 38%,transparent 70%);filter:blur(3px);animation:glow-breathe 12s ease-in-out infinite alternate}.login-brand,.login-card,.login-copyright{position:relative;z-index:1}@keyframes plan-drift{from{background-position:0 0,0 0}to{background-position:104px 52px,-52px 104px}}@keyframes glow-breathe{from{transform:translate3d(0,0,0) scale(.92);opacity:.65}to{transform:translate3d(-7vw,8vh,0) scale(1.12);opacity:1}}@media(prefers-reduced-motion:reduce){.login-screen:before,.login-screen:after{animation:none}}
.login-screen:before{opacity:.56;background-image:linear-gradient(115deg,transparent 37%,#478b5d26 48%,#478b5d26 50%,transparent 62%),linear-gradient(90deg,#286f501f 1px,transparent 1px),linear-gradient(#286f501f 1px,transparent 1px);background-size:180% 100%,52px 52px,52px 52px;animation:plan-sweep 15s linear infinite}@keyframes plan-sweep{from{background-position:150% 0,0 0,0 0}to{background-position:-150% 0,104px 52px,-52px 104px}}
.login-screen:before{background-image:linear-gradient(115deg,transparent 37%,#27864a38 48%,#42a85b38 50%,transparent 62%),linear-gradient(90deg,#1c7b451f 1px,transparent 1px),linear-gradient(#1c7b451f 1px,transparent 1px)}.login-screen:after{background:radial-gradient(circle,#58ae673b 0,#49a75a26 38%,transparent 70%)}
.login-screen:before{background-image:linear-gradient(115deg,transparent 37%,#195d4628 48%,#22745830 50%,transparent 62%),linear-gradient(90deg,#153e311b 1px,transparent 1px),linear-gradient(#153e311b 1px,transparent 1px)}.login-screen:after{background:radial-gradient(circle,#22745838 0,#195d4628 38%,transparent 70%)}
.login-screen:before{opacity:.72;background-image:linear-gradient(115deg,transparent 30%,#153e3140 43%,#195d4666 50%,#22745840 56%,transparent 70%),linear-gradient(90deg,#195d4626 1px,transparent 1px),linear-gradient(#195d4626 1px,transparent 1px)}.login-screen:after{background:radial-gradient(circle,#195d4645 0,#22745830 38%,transparent 70%)}
.login-screen:before{opacity:.88;background-image:linear-gradient(115deg,transparent 30%,#153e31 43%,#195d46 49%,#227458 54%,transparent 67%),linear-gradient(90deg,#195d4626 1px,transparent 1px),linear-gradient(#195d4626 1px,transparent 1px)}.login-screen:after{background:radial-gradient(circle,#153e3160 0,#195d4650 30%,#22745828 48%,transparent 70%)}
.login-card{background:transparent;border:0;box-shadow:none;gap:clamp(24px,4vw,56px);overflow:visible}.login-art{border-radius:15px}.login-form-side{background:transparent;border:0;padding:38px 20px}.login-screen:before{opacity:.42;background-image:linear-gradient(90deg,#195d4655 1px,transparent 1px),linear-gradient(#195d4655 1px,transparent 1px);background-size:52px 52px,52px 52px;animation:plan-drift 18s linear infinite}.login-screen:after{display:none}@media(max-width:760px){.login-card{gap:18px}.login-art{border-radius:15px}.login-form-side{padding:28px 24px 24px}}
.login-screen:before{opacity:.78;background-image:linear-gradient(90deg,#195d4690 1.5px,transparent 1.5px),linear-gradient(#195d4690 1.5px,transparent 1.5px);background-size:52px 52px,52px 52px;animation:plan-drift 30s linear infinite;will-change:background-position}
.login-screen:before{inset:0;transform:none;transform-origin:center;background-image:linear-gradient(90deg,#195d4675 1.25px,transparent 1.25px),linear-gradient(#195d4675 1.25px,transparent 1.25px);background-size:48px 48px,48px 48px;animation:grid-flow 24s linear infinite;will-change:background-position}@keyframes grid-flow{from{background-position:0 0,0 0}to{background-position:48px 48px,48px 48px}}
.login-screen:before{inset:-105%;transform:perspective(850px) rotateX(57deg) rotateZ(-15deg) scale(1.12);transform-origin:center 54%;opacity:.6;background-image:linear-gradient(90deg,#195d4680 1.2px,transparent 1.2px),linear-gradient(#195d4680 1.2px,transparent 1.2px);background-size:48px 48px,48px 48px;background-repeat:repeat;animation:grid-flow 28s linear infinite;will-change:background-position}
.login-screen:before{transform-origin:center 34%}
.login-screen:before{inset:-65%;transform:perspective(1600px) rotateX(48deg) rotateZ(-15deg) scale(1.08);transform-origin:center 29%;animation:grid-glide 36s linear infinite;will-change:translate;background-position:0 0,0 0}@keyframes grid-glide{from{translate:0 0}to{translate:48px 48px}}
.login-screen:before{animation-duration:10s}
:root{--glass-fill:rgba(255,255,255,.38);--glass-edge:rgba(255,255,255,.74);--glass-shadow:0 12px 34px rgba(30,65,48,.12),inset 0 1px 0 rgba(255,255,255,.86);--glass-blur:18px}button,a,input,select{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease,color .2s ease}.login-form-wrap{width:min(100%,390px);padding:25px;background:linear-gradient(145deg,rgba(255,255,255,.55),rgba(240,248,242,.3));border:1px solid var(--glass-edge);border-radius:22px;box-shadow:var(--glass-shadow);backdrop-filter:blur(var(--glass-blur)) saturate(165%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(165%)}.login-form-wrap input[type=email],.password-wrap input{background:rgba(255,255,255,.36);border-color:rgba(255,255,255,.78);box-shadow:inset 0 1px 2px rgba(29,67,48,.07),0 1px 0 rgba(255,255,255,.4);backdrop-filter:blur(12px) saturate(155%);-webkit-backdrop-filter:blur(12px) saturate(155%)}.login-form-wrap input:focus{background:rgba(255,255,255,.62);border-color:rgba(43,127,80,.58);box-shadow:0 0 0 3px rgba(57,143,92,.13),inset 0 1px 2px rgba(29,67,48,.04)}.button{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.6);box-shadow:0 5px 13px rgba(31,79,52,.12),inset 0 1px 0 rgba(255,255,255,.52);backdrop-filter:blur(12px) saturate(155%);-webkit-backdrop-filter:blur(12px) saturate(155%)}.button:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.22),transparent 42%,rgba(255,255,255,.08));pointer-events:none}.button.primary{background:linear-gradient(135deg,#1c7957eF,#145b43f2);border-color:rgba(255,255,255,.3);color:#fff}.button.primary:hover{background:linear-gradient(135deg,#248a62,#176a4d);box-shadow:0 8px 20px rgba(21,91,62,.24),inset 0 1px 0 rgba(255,255,255,.5);transform:translateY(-1px)}.button.secondary{background:rgba(255,255,255,.45);border-color:rgba(255,255,255,.8);box-shadow:var(--glass-shadow);backdrop-filter:blur(var(--glass-blur)) saturate(160%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%)}.button:active,.signout-button:active,.tool:active{transform:scale(.98)}.login-submit{height:42px;border-radius:11px}.signout-button,.tool,.icon-button,.page-controls button{background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.68);box-shadow:0 3px 9px rgba(31,79,52,.08),inset 0 1px 0 rgba(255,255,255,.76);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%)}.signout-button:hover,.tool:hover,.icon-button:hover,.page-controls button:hover{background:rgba(255,255,255,.68);border-color:#fff;box-shadow:0 5px 15px rgba(31,79,52,.12),inset 0 1px 0 #fff}.tool.active{background:linear-gradient(135deg,rgba(231,246,236,.88),rgba(203,232,213,.62));border-color:rgba(72,142,99,.3);color:#176d56}.guide-link,.footer button,.footer a{border-radius:7px;transition:all .2s ease}.guide-link:hover,.footer button:hover,.footer a:hover{background:rgba(211,236,218,.38);box-shadow:0 0 0 5px rgba(211,236,218,.38);color:#145b43}.project-card,.stat-card,.panel,.ledger-panel,.drawing-panel,.project-rows,.empty-state{background:rgba(255,255,255,.66);border-color:rgba(255,255,255,.86);box-shadow:0 8px 26px rgba(42,76,56,.07),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(16px) saturate(145%);-webkit-backdrop-filter:blur(16px) saturate(145%)}.project-row{background:rgba(255,255,255,.34);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.project-row:hover{background:rgba(231,244,234,.62)}.ledger-row,.activity-item,.quick-action{background:transparent}.ledger-row:hover,.quick-action:hover{background:rgba(220,240,226,.26)}dialog{background:rgba(248,251,248,.82);border:1px solid rgba(255,255,255,.85);box-shadow:0 22px 72px rgba(20,52,36,.25),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(28px) saturate(170%);-webkit-backdrop-filter:blur(28px) saturate(170%)}dialog input,dialog select{background:rgba(255,255,255,.62);border-color:rgba(255,255,255,.95);box-shadow:inset 0 1px 2px rgba(31,75,50,.05)}dialog::backdrop{background:rgba(17,44,31,.3);backdrop-filter:blur(6px)}.login-notice{background:rgba(255,250,239,.6);border-color:rgba(255,255,255,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.login-art{box-shadow:0 22px 50px rgba(11,54,36,.2),inset 0 1px 0 rgba(255,255,255,.22)}.project-status,.type-pill,.local-badge{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media(max-width:760px){.login-form-wrap{padding:21px 19px;border-radius:18px}}@media(prefers-reduced-motion:reduce){button,a,input,select,.login-screen:before{transition:none;animation:none!important}}
.nav-item{border:1px solid transparent;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.nav-item:hover{background:rgba(255,255,255,.48);border-color:rgba(255,255,255,.78);box-shadow:0 4px 12px rgba(31,79,52,.07),inset 0 1px 0 rgba(255,255,255,.8)}.nav-item.active{background:linear-gradient(135deg,rgba(231,246,236,.88),rgba(205,232,214,.63));border-color:rgba(255,255,255,.82);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 3px 10px rgba(45,109,70,.08)}.quick-action{border-radius:8px;transition:background .2s ease,box-shadow .2s ease}.quick-action:hover{background:rgba(227,243,231,.43);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}input[type=checkbox]{accent-color:#176d56}input[type=range]{appearance:none;-webkit-appearance:none;height:7px;border:1px solid rgba(255,255,255,.8);border-radius:99px;background:linear-gradient(90deg,rgba(29,111,75,.55),rgba(255,255,255,.48));box-shadow:inset 0 1px 2px rgba(25,70,45,.13),0 1px 0 #ffffff88;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border:1px solid #ffffffd9;border-radius:50%;background:linear-gradient(145deg,#ffffffed,#d7ebdcbb);box-shadow:0 3px 9px #174b3540,inset 0 1px 0 #fff;cursor:grab}input[type=range]::-moz-range-thumb{width:16px;height:16px;border:1px solid #ffffffd9;border-radius:50%;background:linear-gradient(145deg,#ffffffed,#d7ebdcbb);box-shadow:0 3px 9px #174b3540,inset 0 1px 0 #fff;cursor:grab}
:root{--lg-fill:#176d56;--lg-glass:rgba(255,255,255,.36);--lg-glass-active:rgba(225,241,230,.68);--lg-edge:rgba(255,255,255,.84);--lg-drop:rgba(24,68,43,.12);--lg-lens:rgba(255,255,255,.1);--lg-lens-shine:-.8;--lg-rim-shine:.42}.lg-glass.glisse-surface{background-color:rgba(255,255,255,.3);background-image:var(--lg-rim,linear-gradient(145deg,rgba(255,255,255,.44),rgba(236,247,239,.2)));backdrop-filter:blur(var(--lg-blur,18px)) var(--lg-filter,saturate(1.65));-webkit-backdrop-filter:blur(var(--lg-blur,18px)) var(--lg-filter,saturate(1.65))}.lg-glass.glisse-surface.login-form-wrap{background-color:rgba(255,255,255,.24);background-image:var(--lg-rim,linear-gradient(145deg,rgba(255,255,255,.42),rgba(236,247,239,.18)))}.lg-button.lg-glass:after{background:radial-gradient(circle 240px at var(--lg-x,50%) var(--lg-y,50%),rgba(255,255,255,.12),rgba(255,255,255,.035) 52%,transparent);opacity:0;transition:opacity .22s ease-in-out}.lg-button.lg-glass[data-pressed]:after{opacity:1;transition-duration:0s}.lg-button[data-variant=filled]{border:1px solid rgba(255,255,255,.48);border-radius:11px;box-shadow:0 6px 16px rgba(18,85,54,.2),inset 0 1px 0 rgba(255,255,255,.55)}.lg-button[data-variant=filled].button{color:white}.lg-button[data-variant=filled].glisse-primary .glisse-button-content{display:flex;align-items:center;width:100%}.lg-button[data-variant=filled].glisse-primary .glisse-button-content span{margin-left:auto}.lg-button.nav-item.active{background-color:rgba(215,237,221,.52);background-image:var(--lg-rim,linear-gradient(135deg,rgba(231,246,236,.88),rgba(205,232,214,.63)))}.lg-button.tool.active{background-color:rgba(205,232,214,.56);background-image:var(--lg-rim,linear-gradient(135deg,rgba(231,246,236,.88),rgba(203,232,213,.62)))}.glisse-button-content{display:contents}.lg-glass:focus-visible,.lg-button:focus-visible{outline:2px solid rgba(23,109,86,.65);outline-offset:3px}
.login-form-wrap .lg-input{max-width:none;width:100%;height:40px;margin-top:7px;border-radius:11px;background-color:rgba(255,255,255,.32);background-image:var(--lg-rim,linear-gradient(145deg,#ffffff79,#eaf4ed38));box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 3px 10px rgba(26,66,44,.07)}.login-form-wrap .lg-input:focus-within{background-color:rgba(255,255,255,.52);box-shadow:inset 0 0 0 1px rgba(23,109,86,.48),0 0 0 3px rgba(23,109,86,.1)}.login-form-wrap .lg-input input{height:100%;margin:0;padding:0;border:0;border-radius:inherit;background:transparent;box-shadow:none;color:#172824;font-size:11px}.login-form-wrap .lg-input input:focus{background:transparent;box-shadow:none}.lg-button.glisse-primary .glisse-button-content span{margin-left:0}.lg-button.glisse-primary.login-submit .glisse-button-content span{margin-left:auto}

/* Keep workspace actions direct and familiar; reserve glass for the login UI. */
.workspace-ui .lg-button.button{height:38px;padding:0 15px;border:1px solid #176d56;border-radius:6px;background:#176d56;background-image:none;color:#fff;box-shadow:0 1px 2px rgba(20,58,43,.12);backdrop-filter:none;-webkit-backdrop-filter:none;font-weight:650}
.workspace-ui .lg-button.button:hover{background:#10543f;background-image:none;box-shadow:0 2px 5px rgba(20,58,43,.16);transform:translateY(-1px)}
.workspace-ui .lg-button.button:active{transform:translateY(0)}
.workspace-ui .lg-button.button:after{display:none}
.workspace-ui .lg-button.button:not(.primary){background:#fff;background-image:none;color:#43564c;border-color:#dce5df;box-shadow:0 1px 2px rgba(21,48,35,.05)}
.workspace-ui .lg-button.button:not(.primary):hover{background:#f6f9f7;background-image:none;border-color:#bdcec4}
.workspace-ui .lg-button.button.primary{background:#176d56;background-image:none;color:#fff}
.workspace-ui .lg-button.button.primary:hover{background:#10543f;background-image:none}
@media(max-width:760px){
  body.authenticated .sidebar{position:sticky;inset:auto;width:auto;height:auto;padding:10px 14px;background:rgba(255,255,255,.96);border:0;border-bottom:1px solid #e4ebe6;box-shadow:0 2px 10px rgba(31,57,43,.05)}
  body.authenticated .sidebar>.brand,body.authenticated .sidebar>.workspace,body.authenticated .sidebar>.nav-label,body.authenticated .sidebar>.sidebar-bottom{display:none}
  body.authenticated .sidebar>nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:100%;padding:3px;border:1px solid #e2e9e4;border-radius:9px;background:#f1f4f2}
  body.authenticated .sidebar .nav-item{justify-content:center;gap:6px;min-width:0;height:38px;margin:0;padding:0 6px;border:1px solid transparent;border-radius:6px;background:transparent;box-shadow:none;color:#67756d;font-size:11px;font-weight:550;white-space:nowrap}
  body.authenticated .sidebar .nav-item.active{background:#fff;border-color:#e1e8e3;color:#176d56;box-shadow:0 1px 2px rgba(23,55,39,.08);font-weight:700}
  body.authenticated .sidebar .nav-icon{width:auto;font-size:14px}
  body.authenticated .sidebar .nav-count{margin-left:0;padding:1px 5px}
  body.authenticated .main{margin-left:0;min-width:0}
  body.authenticated .topbar{position:sticky;top:0;z-index:3;height:49px;padding:0 16px}
  body.authenticated .content{padding:23px 16px 20px}
}
/* Match the class used by Glisse after it replaces native buttons. */
.workspace-ui .lg-button.button.glisse-primary{background:#176d56;background-image:none;color:#fff;border-color:#176d56}
.workspace-ui .lg-button.button.glisse-primary:hover{background:#10543f;background-image:none;border-color:#10543f}
.workspace-ui .lg-button.button:not(.glisse-primary){background:#fff;background-image:none;color:#43564c;border-color:#dce5df;box-shadow:0 1px 2px rgba(21,48,35,.05)}
.workspace-ui .lg-button.button:not(.glisse-primary):hover{background:#f6f9f7;background-image:none;border-color:#bdcec4}
.workspace-ui .button.primary{background:#176d56;background-image:none;color:#fff;border:1px solid #176d56;box-shadow:0 1px 2px rgba(20,58,43,.12);backdrop-filter:none;-webkit-backdrop-filter:none}
.workspace-ui .button.primary:hover{background:#10543f;background-image:none;box-shadow:0 2px 5px rgba(20,58,43,.16);transform:translateY(-1px)}
.workspace-ui .button:after{display:none}

/* Login surface: a quiet liquid-glass pane over the blueprint background. */
.lg-glass.glisse-surface.login-form-wrap{position:relative;background-color:rgba(248,253,250,.44);background-image:linear-gradient(145deg,rgba(255,255,255,.68),rgba(231,244,236,.28));border:1px solid rgba(255,255,255,.74);border-radius:22px;box-shadow:0 20px 48px rgba(22,64,45,.13),inset 0 1px 0 rgba(255,255,255,.86),inset 0 -1px 0 rgba(255,255,255,.24);backdrop-filter:blur(28px) saturate(1.65);-webkit-backdrop-filter:blur(28px) saturate(1.65)}
.lg-glass.glisse-surface.login-form-wrap:before{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.38),transparent 38%,rgba(255,255,255,.08) 72%,transparent);opacity:.72}
.lg-glass.glisse-surface.login-form-wrap>*{position:relative;z-index:1}
.login-form-wrap input[type=email],.password-wrap input{background:rgba(255,255,255,.48);border-color:rgba(255,255,255,.84);box-shadow:inset 0 1px 2px rgba(28,69,49,.045),0 1px 1px rgba(255,255,255,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.login-form-wrap input[type=email]:focus,.password-wrap input:focus{background:rgba(255,255,255,.72);border-color:rgba(23,109,86,.42);box-shadow:0 0 0 3px rgba(23,109,86,.09)}
/* Straightforward login action, without the glass shine or animated tint. */
.lg-button.login-submit{height:42px;border:1px solid #176d56;border-radius:7px;background:#176d56;background-image:none;color:#fff;box-shadow:0 1px 2px rgba(20,58,43,.12);backdrop-filter:none;-webkit-backdrop-filter:none;font-size:11px;font-weight:650}
.lg-button.login-submit:hover{background:#10543f;background-image:none;border-color:#10543f;box-shadow:0 2px 5px rgba(20,58,43,.16);transform:translateY(-1px)}
.lg-button.login-submit:active{transform:translateY(0)}
.lg-button.login-submit:after{display:none}
.lg-glass.glisse-surface.login-form-wrap .button.login-submit{background:#176d56!important;background-image:none!important;border:1px solid #176d56!important;border-radius:7px!important;box-shadow:0 1px 2px rgba(20,58,43,.12)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none}
.lg-glass.glisse-surface.login-form-wrap .button.login-submit:hover{background:#10543f!important;background-image:none!important;border-color:#10543f!important;box-shadow:0 2px 5px rgba(20,58,43,.16)!important;transform:translateY(-1px)}
.lg-glass.glisse-surface.login-form-wrap .button.login-submit:active{transform:translateY(0)}
.lg-glass.glisse-surface.login-form-wrap .button.login-submit:after{display:none}
/* Strong transparency: let the blueprint grid remain visibly legible through the login glass. */
.lg-glass.glisse-surface.login-form-wrap{background-color:rgba(238,249,242,.12)!important;background-image:linear-gradient(145deg,rgba(255,255,255,.16),rgba(213,237,222,.055))!important;border:1px solid rgba(255,255,255,.66)!important;backdrop-filter:blur(14px) saturate(1.45)!important;-webkit-backdrop-filter:blur(14px) saturate(1.45)!important;box-shadow:0 18px 46px rgba(16,65,43,.13),inset 0 1px 0 rgba(255,255,255,.78),inset 0 -1px 0 rgba(255,255,255,.2)!important}
.lg-glass.glisse-surface.login-form-wrap:before{background:linear-gradient(125deg,rgba(255,255,255,.12),transparent 36%,rgba(255,255,255,.035) 72%,transparent)!important;opacity:1}
/* Reduce blur so the animated construction grid remains visibly behind the glass pane. */
.lg-glass.glisse-surface.login-form-wrap{background-color:rgba(238,249,242,.045)!important;background-image:linear-gradient(145deg,rgba(255,255,255,.075),rgba(213,237,222,.018))!important;backdrop-filter:blur(3px) saturate(1.2)!important;-webkit-backdrop-filter:blur(3px) saturate(1.2)!important}
.lg-glass.glisse-surface.login-form-wrap:before{background:linear-gradient(125deg,rgba(255,255,255,.065),transparent 36%,rgba(255,255,255,.02) 72%,transparent)!important}

/* Mobile workspace navigation as one shared segmented control. */
@media(max-width:760px){
  body.authenticated .sidebar>nav{display:flex;align-items:stretch;gap:3px;padding:3px;border:1px solid #dce5df;border-radius:9px;background:#e9efeb;box-shadow:inset 0 1px 2px rgba(23,55,39,.045)}
  body.authenticated .sidebar>nav>.glisse-host{flex:1 1 0;min-width:0}
  body.authenticated .sidebar .nav-item,body.authenticated .sidebar .nav-item.lg-button{display:flex;width:100%;height:34px;min-width:0;justify-content:center;gap:6px;margin:0;padding:0 5px;border:1px solid transparent;border-radius:6px;background:transparent!important;background-image:none!important;color:#65736c;font-size:10px;font-weight:550;white-space:nowrap;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none}
  body.authenticated .sidebar .nav-item:hover{background:rgba(255,255,255,.48)!important;color:#304d3e}
  body.authenticated .sidebar .nav-item.active{background:#fff!important;background-image:none!important;border-color:#dfe7e1;color:#176d56;box-shadow:0 1px 2px rgba(24,52,37,.09)!important;font-weight:700}
  body.authenticated .sidebar .nav-item:after{display:none}
  body.authenticated .sidebar .nav-icon{width:auto;font-size:13px}
  body.authenticated .sidebar .nav-count{margin-left:0;padding:1px 4px}
}

/* Use Glisse's real spring/lens SegmentedControl for mobile workspace navigation. */
@media(max-width:760px){
  body.authenticated .sidebar>nav{display:block;width:100%;padding:0;border:0;background:transparent;box-shadow:none}
  body.authenticated .sidebar>nav>.glisse-host{display:none!important}
  body.authenticated .sidebar>nav>.mobile-segmented-host{display:block!important;width:100%;min-width:0}
  body.authenticated .mobile-workspace-segmented{width:100%;--lg-tab-width:calc((100vw - 28px)/3);--lg-tab-height:38px;--lg-thumb-inset:2px;--lg-segment-track:rgba(23,109,86,.105);--lg-segment-thumb:rgba(255,255,255,.96);--lg-segment-label:#176d56;--lg-segment-lens:rgba(23,109,86,.065);--lg-segment-selected:#176d56;--lg-glass:rgba(235,242,237,.76);--lg-edge:rgba(23,109,86,.13);--lg-drop:rgba(23,61,41,.1);--lg-lens-drop:rgba(23,61,41,.16);--lg-blur:9px;--lg-filter:blur(9px) saturate(1.45);border-radius:10px}
  body.authenticated .mobile-workspace-segmented>.lg-tab-bar-glass{border-radius:10px}
  body.authenticated .mobile-workspace-segmented .lg-tab{font-size:11px;font-weight:550}
  body.authenticated .mobile-workspace-segmented .lg-tab[data-selected]{font-weight:700}
  body.authenticated .mobile-workspace-segmented .lg-segmented-thumb{border-radius:7px;box-shadow:0 1px 3px rgba(24,52,37,.13),inset 0 0 0 1px rgba(255,255,255,.9)}
}
/* Glisse’s reference control is a true capsule: round the shared glass track and its moving lens. */
@media(max-width:760px){
  body.authenticated .mobile-workspace-segmented{border-radius:999px}
  body.authenticated .mobile-workspace-segmented>.lg-tab-bar-glass{border-radius:inherit}
  body.authenticated .mobile-workspace-segmented .lg-segmented-thumb{border-radius:999px}
  body.authenticated .mobile-workspace-segmented .lg-tab-lens{border-radius:999px}
}

/* Keep the Glisse control mobile-only; desktop uses the existing sidebar items. */
@media(min-width:761px){
  body.authenticated .sidebar>nav>.mobile-segmented-host{display:none!important}
}
@media(max-width:760px){
  body.authenticated .sidebar>nav>.mobile-segmented-host{display:block!important}
}

.project-back{display:flex;align-items:center;gap:7px;color:#62716a;font-size:11px;font-weight:600;white-space:nowrap}
.back-arrow{width:30px;height:30px;display:grid;place-items:center;border:1px solid #e4eae6;border-radius:50%;background:#fff;color:var(--green);font-size:17px;line-height:1;transition:background .15s,border-color .15s,transform .15s}
.back-arrow,#backProject{width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;flex:0 0 32px!important;aspect-ratio:1;border-radius:50%!important}
.back-arrow:hover{background:var(--mint);border-color:#cfe2d7;transform:translateX(-2px)}
.guide-link-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--green);font-size:10px;font-weight:700}
.guide-arrow{width:28px!important;height:28px!important;min-width:28px!important;padding:0!important;flex:0 0 28px!important;aspect-ratio:1;border:1px solid #dfe8e2;border-radius:50%!important;background:rgba(255,255,255,.68);color:var(--green);font-size:13px;line-height:1;display:grid;place-items:center;transition:background .15s,border-color .15s,transform .15s}
.guide-arrow:hover{background:var(--mint);border-color:#cfe2d7;transform:translateX(2px)}
#pdfStage[hidden]{display:none!important}

.guide-content .close-dialog{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;flex:0 0 30px!important;aspect-ratio:1;border-radius:50%!important;display:grid;place-items:center}
body.authenticated .signout-button:hover{color:#a52219;background:#fff1f0;border-color:#efb8b2;box-shadow:0 3px 9px rgba(133,35,28,.12),inset 0 1px 0 #fff}
body.authenticated .signout-button:active{color:#fff;background:#a52219;border-color:#a52219;box-shadow:0 1px 3px rgba(133,35,28,.2);transform:scale(.98)}
body.authenticated .signout-button:focus-visible{outline:2px solid rgba(165,34,25,.42);outline-offset:2px}
@media(max-width:1100px){
  .drawing-layout{grid-template-columns:minmax(0,1fr);height:auto;min-height:0}
  .drawing-panel{height:min(68vh,680px);min-height:420px}
  .ledger-panel{min-height:300px}
  .drawing-toolbar{flex-wrap:wrap}
  .drawing-toolbar>select{flex:1 1 140px}
  .toolbar-tools,.page-controls{flex:0 1 auto}
  .calibration-bar{flex-wrap:wrap}
  .drawing-placeholder{width:min(100%,490px)}
}
@media(max-width:600px){
  .drawing-panel{height:68vh;min-height:390px}
  .drawing-header{align-items:flex-start;flex-wrap:wrap}
  .drawing-head-actions{margin-left:auto}
  .drawing-toolbar{gap:6px;padding:8px}
  .toolbar-tools{gap:4px}
  .page-controls{margin-left:auto}
}
.analysis-dialog:not([open]){display:none}.analysis-dialog[open]{display:flex;flex-direction:column;position:fixed;inset:0;margin:auto;width:min(1060px,calc(100% - 28px));max-height:min(90vh,700px);padding:24px;overflow:hidden}.analysis-dialog .dialog-head{flex:0 0 auto;margin-bottom:8px}.analysis-dialog #analysisSummary{flex:0 0 auto}.analysis-table-wrap{flex:1 1 auto;min-height:96px;max-height:none;overflow:auto;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.62)}.analysis-dialog .dialog-actions{flex:0 0 auto;margin-top:14px}.analysis-table{width:100%;border-collapse:collapse;min-width:720px;font-size:10px}.analysis-table th{position:sticky;top:0;background:#edf4ef;color:#51655b;text-align:left;z-index:1}.analysis-table th,.analysis-table td{padding:9px 10px;border-bottom:1px solid #e9efeb;vertical-align:top}.analysis-table td:nth-child(1),.analysis-table td:nth-child(3),.analysis-table td:nth-child(5){white-space:nowrap}.analysis-table td:nth-child(5){text-align:right;font-weight:700}.analysis-warning{display:flex;flex-direction:column;gap:4px;flex:0 0 auto;margin:12px 0;padding:11px 13px;border:1px solid #eadfc5;border-radius:8px;background:rgba(255,249,235,.75);color:#7b6743;font-size:10px;line-height:1.5}.analysis-warning strong{color:#67542e}.drawing-head-actions #analyzeBoq{white-space:nowrap}@media(max-width:850px){.drawing-head-actions #analyzeBoq{flex:1}.analysis-dialog[open]{padding:17px}.analysis-warning{margin:8px 0}}

/* High-contrast chevrons for drawing and page navigation. */
.back-arrow,#backProject{display:grid!important;place-items:center!important;color:#145a43!important;font-family:Arial,sans-serif!important;font-size:22px!important;font-weight:700!important;line-height:1!important;background:#fff!important;border:1px solid #cbdad1!important;box-shadow:0 1px 3px rgba(20,58,43,.12)!important}
.back-arrow:hover,#backProject:hover{color:#0c4936!important;background:#eaf4ef!important;border-color:#9fbdac!important}
.page-controls button#prevPage,.page-controls button#nextPage{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;display:grid!important;place-items:center!important;border:1px solid #cbdad1!important;border-radius:50%!important;background:#fff!important;color:#145a43!important;box-shadow:0 1px 3px rgba(20,58,43,.12)!important;font-family:Arial,sans-serif!important;font-size:21px!important;font-weight:700!important;line-height:1!important;text-shadow:none!important;opacity:1!important}
.page-controls button#prevPage:hover,.page-controls button#nextPage:hover{background:#eaf4ef!important;border-color:#9fbdac!important;color:#0c4936!important}
.page-controls button#prevPage:disabled,.page-controls button#nextPage:disabled{background:#f2f5f3!important;color:#718078!important;border-color:#d8e0db!important;opacity:.78!important}

/* Dark circular navigation controls, following the supplied chevron reference. */
.back-arrow,#backProject,.page-controls button#prevPage,.page-controls button#nextPage{background:#181818!important;background-image:none!important;color:#f7f8f7!important;border:1px solid #363636!important;border-radius:50%!important;box-shadow:0 1px 3px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.05)!important;font-family:Arial,sans-serif!important;font-weight:700!important;text-shadow:none!important}
.back-arrow,#backProject{width:38px!important;height:38px!important;min-width:38px!important;flex-basis:38px!important;font-size:28px!important;line-height:1!important}
.page-controls button#prevPage,.page-controls button#nextPage{width:32px!important;height:32px!important;min-width:32px!important;font-size:23px!important;line-height:1!important}
.back-arrow:hover,#backProject:hover,.page-controls button#prevPage:hover,.page-controls button#nextPage:hover{background:#242424!important;border-color:#505050!important;color:#fff!important}
.page-controls button#prevPage:disabled,.page-controls button#nextPage:disabled{background:#181818!important;color:#c8cbc9!important;border-color:#363636!important;opacity:.78!important}

/* Project back button: light Glisse glass matching the supplied circular reference. */
.back-arrow,#backProject{width:40px!important;height:40px!important;min-width:40px!important;flex-basis:40px!important;padding:0!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.78)!important;background-image:linear-gradient(145deg,rgba(255,255,255,.94),rgba(246,246,250,.72))!important;color:#17171b!important;border:1px solid rgba(255,255,255,.98)!important;border-radius:50%!important;box-shadow:0 7px 20px rgba(32,35,44,.15),inset 0 1px 1px rgba(255,255,255,.98),inset 0 -1px 1px rgba(35,39,48,.06)!important;backdrop-filter:blur(18px) saturate(1.6)!important;-webkit-backdrop-filter:blur(18px) saturate(1.6)!important;font-family:Arial,sans-serif!important;font-size:27px!important;font-weight:700!important;line-height:1!important;text-shadow:none!important;transition:background .18s ease,box-shadow .18s ease,transform .18s ease!important}
.back-arrow:hover,#backProject:hover{background:rgba(255,255,255,.94)!important;background-image:linear-gradient(145deg,#fff,rgba(248,248,251,.9))!important;color:#111114!important;border-color:#fff!important;box-shadow:0 9px 24px rgba(32,35,44,.2),inset 0 1px 1px #fff!important;transform:translateY(-1px)}
.back-arrow:active,#backProject:active{transform:scale(.96)}

/* Compact Project back control with a precise CSS chevron. */
.back-arrow,#backProject{width:32px!important;height:32px!important;min-width:32px!important;flex-basis:32px!important;padding:0!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.78)!important;background-image:linear-gradient(145deg,rgba(255,255,255,.94),rgba(246,246,250,.72))!important;color:#17171b!important;border:1px solid rgba(255,255,255,.98)!important;border-radius:50%!important;box-shadow:0 5px 14px rgba(32,35,44,.13),inset 0 1px 1px rgba(255,255,255,.98),inset 0 -1px 1px rgba(35,39,48,.05)!important;backdrop-filter:blur(14px) saturate(1.5)!important;-webkit-backdrop-filter:blur(14px) saturate(1.5)!important;transition:background .18s ease,box-shadow .18s ease,transform .18s ease!important}
.back-arrow .back-chevron,#backProject .back-chevron{display:block;width:20px;height:20px;overflow:visible;fill:none;stroke:#17171b;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;transform:none}
.back-arrow:hover,#backProject:hover{background:rgba(255,255,255,.94)!important;background-image:linear-gradient(145deg,#fff,rgba(248,248,251,.9))!important;box-shadow:0 7px 17px rgba(32,35,44,.17),inset 0 1px 1px #fff!important;transform:translateY(-1px)}
.back-arrow:active,#backProject:active{transform:scale(.96)}

/* Keep page navigation on the same light glass treatment as the Project back button. */
.page-controls button#prevPage,.page-controls button#nextPage{background:rgba(255,255,255,.78)!important;background-image:linear-gradient(145deg,rgba(255,255,255,.94),rgba(246,246,250,.72))!important;color:#17171b!important;border:1px solid rgba(255,255,255,.98)!important;border-radius:50%!important;box-shadow:0 5px 14px rgba(32,35,44,.13),inset 0 1px 1px rgba(255,255,255,.98),inset 0 -1px 1px rgba(35,39,48,.05)!important;backdrop-filter:blur(14px) saturate(1.5)!important;-webkit-backdrop-filter:blur(14px) saturate(1.5)!important}
.page-controls button#prevPage:hover,.page-controls button#nextPage:hover{background:rgba(255,255,255,.94)!important;background-image:linear-gradient(145deg,#fff,rgba(248,248,251,.9))!important;box-shadow:0 7px 17px rgba(32,35,44,.17),inset 0 1px 1px #fff!important;color:#111114!important}
.page-controls button#prevPage:disabled,.page-controls button#nextPage:disabled{background:rgba(255,255,255,.64)!important;background-image:linear-gradient(145deg,rgba(255,255,255,.82),rgba(244,245,247,.68))!important;color:#66666d!important;border-color:rgba(255,255,255,.92)!important;box-shadow:0 3px 9px rgba(32,35,44,.1),inset 0 1px 1px rgba(255,255,255,.96)!important;opacity:1!important}

/* Center the navigation glyphs independently of Glisse's internal button wrapper. */
.page-controls button#prevPage,.page-controls button#nextPage{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:0!important;line-height:1!important;font-family:Arial,sans-serif!important;font-size:0!important}
.page-controls button#prevPage::before,.page-controls button#nextPage::before{content:"";display:block;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;flex:none}
.page-controls button#prevPage::before{transform:translateX(1px) rotate(-135deg)}
.page-controls button#nextPage::before{transform:translateX(-1px) rotate(45deg)}
.page-controls button#prevPage:disabled,.page-controls button#nextPage:disabled{background:rgba(238,240,239,.78)!important;background-image:none!important;color:#a8afab!important;border-color:rgba(220,224,222,.9)!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.9)!important;opacity:.68!important;cursor:default!important}
.page-controls button#prevPage:disabled::before,.page-controls button#nextPage:disabled::before{border-color:currentColor}

/* Use a single centered SVG chevron inside each page control. */
.page-controls button#prevPage::before,.page-controls button#nextPage::before{content:none!important;display:none!important}
.page-controls button#prevPage .glisse-button-content,.page-controls button#nextPage .glisse-button-content{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;margin:0!important;line-height:0!important}
.page-controls button#prevPage .page-chevron,.page-controls button#nextPage .page-chevron{display:block!important;width:18px!important;height:18px!important;margin:0!important;flex:none!important;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;transform:none!important}

/* Destructive icon-only Glisse controls. */
.lg-button.destructive[data-icon="only"]{width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;color:var(--lg-destructive,#c73535)!important}
.lg-button.destructive[data-icon="only"]>svg{width:16px!important;height:16px!important}
.lg-button.destructive.tool[data-icon="only"]{width:28px!important;height:28px!important;min-width:28px!important}
.lg-button.destructive.catalog-delete[data-icon="only"],.lg-button.destructive.remove-measure[data-icon="only"]{width:28px!important;height:28px!important;min-width:28px!important}
.lg-button.destructive[data-icon="only"]:hover{background-color:rgba(204,48,48,.1)!important;color:#b4232b!important}

/* Refined circular back control and distinct clear-page icon. */
.back-arrow,#backProject{width:28px!important;height:28px!important;min-width:28px!important;flex-basis:28px!important}
.back-arrow .back-chevron,#backProject .back-chevron{width:16px;height:16px;stroke-width:3.5}
.lg-button.destructive.clear-marks[data-icon='only']{color:#8b5b14!important;border-color:rgba(196,139,45,.25)!important;background-color:rgba(255,248,232,.82)!important}
.lg-button.destructive.clear-marks[data-icon='only'] svg{width:16px!important;height:16px!important}
.lg-button.destructive.clear-marks[data-icon='only']:hover{color:#70440a!important;background-color:rgba(255,239,203,.95)!important}

.analysis-notes{flex:0 0 auto;margin:0 0 10px;padding:9px 11px;border-left:3px solid #b38331;border-radius:4px;background:rgba(255,248,231,.74);color:#6c5939;font-size:10px;line-height:1.55}.analysis-table{min-width:960px}.analysis-table td:nth-child(6){max-width:220px;white-space:normal}.analysis-table td:nth-child(7){min-width:150px;color:#765c26}
