/* Wood Lab visual system: shared by every workspace, public and authentication page. */
.nav-search{flex-direction:row!important}label,.form-grid label{color:var(--dark)}.invoice-summary{background:var(--surface-alt);color:var(--dark)}.invoice-summary strong{font-size:24px}.invoice-summary span{font-size:16px}.tabs a{font-size:16px!important;color:var(--muted);padding:12px 18px!important}.pagination a,.pagination span{font-size:15px}.invoice-line label{font-size:15px}.nav-search .ui-icon{width:20px;height:20px}.modal{overflow:hidden}.modal form{max-height:calc(90dvh - 2px)}
:root{--bg:#f2f5f4;--surface:#fff;--surface-alt:#edf3f1;--brown:#246b60;--dark:#20332f;--muted:#596f68;--line:#d5e2dc;--sand:#e5eeea;--copper:#a26035;--green:#247255;--red:#b34343;--radius:18px;--shadow:0 8px 32px #183c2d07;--focus:#288a78;--nav-width:294px;--teal:#207b70;--blue:#3c68a5;--amber:#a66b17;--purple:#805da2;color-scheme:light;font-size:17px}
:root[data-theme=dark]{--bg:#111a20;--surface:#1a262e;--surface-alt:#22333b;--brown:#74c8b3;--dark:#edf5f2;--muted:#a7bab7;--line:#354750;--sand:#293e43;--copper:#e8b081;--green:#85d7ad;--red:#ffabab;--shadow:0 8px 32px #0002;--focus:#80d8c1;--teal:#7cdbca;--blue:#98bdf4;--amber:#f0c676;--purple:#c4a8ef;color-scheme:dark}
body{line-height:1.75;background:var(--bg);color:var(--dark)}h1{font-size:clamp(30px,2.8vw,40px);font-weight:700;letter-spacing:-.5px}h2{font-size:23px}h3{font-size:20px}p{color:var(--muted)}small{font-size:14px;color:var(--muted)}a,button,input,select,textarea,summary{transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input,select,textarea{font-size:17px!important;min-height:49px;background:var(--surface);color:var(--dark);border:1px solid var(--line);border-radius:11px;padding:10px 13px}input:focus,select:focus,textarea:focus{border-color:var(--focus);box-shadow:0 0 0 4px color-mix(in srgb,var(--focus) 12%,transparent)}input[type=checkbox],input[type=radio]{min-height:20px;width:20px;height:20px;accent-color:var(--teal)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}label,.form-grid label{font-size:16px;font-weight:500;gap:9px}.hint{font-size:14px;line-height:1.9;color:var(--muted)}
.sidebar{width:var(--nav-width);padding:22px 16px;background:var(--surface);border-color:var(--line);scrollbar-color:var(--line) transparent;transition:width .24s ease,transform .24s ease;box-shadow:var(--shadow)}.brand{justify-content:flex-start;padding:0 12px;gap:14px}.admin-logo{width:108px;height:78px}.admin-brand-caption{font-size:14px!important;font-weight:500!important}.workspace-label{font-size:14px;padding:12px;border-color:var(--line);background:var(--surface-alt);border-radius:12px}.workspace-label small{display:none}.live-dot{background:#36a98b;width:8px;height:8px;box-shadow:0 0 0 4px #36a98b18}.nav-item{position:relative;min-height:50px;font-size:16px;font-weight:500;color:var(--muted);padding:11px 13px;gap:12px;margin:4px 0;border-radius:12px}.nav-item:hover{background:var(--surface-alt);color:var(--dark);transform:translateX(-3px)}.nav-item.active{background:color-mix(in srgb,var(--teal) 14%,var(--surface));color:var(--teal);font-weight:700}.nav-item.active:before{content:'';position:absolute;right:-5px;height:24px;width:4px;border-radius:5px;background:var(--teal)}.nav-item>span:first-child{width:23px;display:grid;place-items:center;opacity:1;flex-shrink:0}.nav-item .nav-label{width:auto;text-align:right;font-size:inherit;opacity:1}.nav-item .ui-icon{width:22px;height:22px}.nav-group summary{display:flex;align-items:center;justify-content:space-between;padding:17px 12px 9px;font-size:14px;letter-spacing:0;color:var(--muted);font-weight:600;border-radius:9px}.nav-group summary:after{content:'';border-bottom:2px solid currentColor;border-left:2px solid currentColor;width:7px;height:7px;transform:rotate(45deg);transition:transform .2s;margin-left:4px}.nav-group[open] summary:after{transform:rotate(-45deg)}.nav-group[open]>.nav-item{animation:nav-reveal .22s ease both}.nav-group summary:hover{color:var(--teal);background:var(--surface-alt)}.nav-search{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:0 10px;margin-bottom:12px;color:var(--muted)}.nav-search input{min-width:0;width:100%;min-height:44px;background:transparent;border:0;padding:8px 0;font-size:14px!important;box-shadow:none}.site-link{font-size:15px;color:var(--teal);line-height:1.7}.app-shell{margin-right:var(--nav-width);transition:margin-right .24s ease}.topbar{height:86px;background:color-mix(in srgb,var(--surface) 94%,transparent);padding:0 28px;gap:18px}.breadcrumb{font-size:15px;flex:1}.today{font-size:14px}.user-name{font-size:15px}.user-name small{font-size:12px}.avatar{width:42px;height:42px;background:var(--sand);border-color:var(--line);color:var(--teal)}.top-actions{gap:12px}.icon-button{min-width:44px;min-height:44px;color:var(--muted);border-radius:12px}.icon-button:hover{color:var(--teal);background:var(--sand)}.menu-toggle{display:inline-grid}.ui-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.theme-toggle{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;border:1px solid var(--line);background:var(--surface);color:var(--dark);border-radius:12px;font-size:14px;white-space:nowrap}.theme-toggle:hover{background:var(--sand);border-color:var(--focus)}.main{padding:32px;max-width:1800px;animation:page-reveal .3s ease}.page-heading p{font-size:17px}.eyebrow{font-size:13px;letter-spacing:.8px;color:var(--copper)}.heading-actions{flex-wrap:wrap}.button{font-size:16px;min-height:48px;padding:11px 20px;border-radius:11px;background:#246b60;border-color:#246b60;color:white;font-weight:500;box-shadow:0 3px 8px #173b2410}.button:hover{background:#19564d;border-color:#19564d;box-shadow:0 6px 16px #173b2420}.button.secondary{background:var(--surface);border-color:var(--line);color:var(--dark)}.button.secondary:hover{background:var(--sand);border-color:var(--focus)}.button.small{font-size:14px;min-height:40px;padding:7px 13px}.button.danger{background:color-mix(in srgb,var(--red) 10%,var(--surface));color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,var(--line))}.button:active,.icon-button:active{transform:scale(.97)}
.overview-banner{background:linear-gradient(110deg,#153e43,#24695e 63%,#477b64);min-height:220px;border-radius:20px;padding:30px 35px;box-shadow:0 12px 26px #1d5b4e18}.overview-banner h2{font-size:34px;font-weight:600}.overview-banner .eyebrow{font-size:12px;color:#c3ded1}.overview-banner p{font-size:16px;color:#e2eee8}.banner-lines{font-size:15px;color:#d3e7db;gap:17px}.stats-grid{gap:18px}.stat-card{border-radius:17px;box-shadow:var(--shadow);padding:23px;position:relative;overflow:hidden;border-top:3px solid var(--teal);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #183c2d12}.stat-card:nth-child(4n+2){border-top-color:var(--blue)}.stat-card:nth-child(4n+3){border-top-color:var(--amber)}.stat-card:nth-child(4n){border-top-color:var(--purple)}.stat-label{font-size:16px;color:var(--muted);font-weight:500;gap:9px}.stat-card>strong{font-size:clamp(27px,2.1vw,36px);font-weight:700;color:var(--dark)}.stat-card>strong small{font-size:14px}.stat-card p{font-size:14px}.stat-label>span{display:grid;place-items:center;border-radius:10px;background:var(--surface-alt);color:var(--teal);padding:7px}.stat-card:nth-child(4n+2) .stat-label>span{color:var(--blue)}.stat-card:nth-child(4n+3) .stat-label>span{color:var(--amber)}.stat-card:nth-child(4n) .stat-label>span{color:var(--purple)}.panel{box-shadow:var(--shadow);border-color:var(--line)}.panel-heading{padding:22px 25px;flex-wrap:wrap}.panel-heading h2{font-size:22px}.panel-heading p{font-size:15px}.text-link{font-size:15px;color:var(--teal)}.project-row{border-color:var(--line);padding:20px 24px;transition:background .18s}.project-row:hover{background:var(--surface-alt)}.project-row strong{font-size:17px;font-weight:600}.project-row small{font-size:14px}.project-monogram{width:44px;height:46px;background:var(--sand);color:var(--teal)}.progress-track{height:5px;background:var(--sand)}.progress-track i{background:var(--teal)}.account-row{border-color:var(--line);padding:20px 23px}.account-row strong{font-size:17px}.account-icon{background:var(--surface-alt);color:var(--blue);padding:10px;border-radius:12px}.insight{background:color-mix(in srgb,var(--amber) 12%,var(--surface));padding:20px;border:1px solid color-mix(in srgb,var(--amber) 23%,var(--line));border-radius:14px}.insight strong{font-size:16px;color:var(--amber)}.insight p,.insight a{font-size:14px}.table-wrap{scrollbar-width:thin;scrollbar-color:var(--line) transparent}th{background:var(--surface-alt);font-size:15px;font-weight:600;color:var(--muted);padding:16px 22px}td{font-size:16px;color:var(--dark);padding:20px 22px;border-color:var(--line)}tbody tr:hover{background:var(--surface-alt)}.record-name{font-weight:600}.cell-sub{font-size:13px}.badge{font-size:14px;border-radius:8px;padding:5px 11px;background:var(--surface-alt);color:var(--blue);border-color:var(--line)}.badge.good{background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green);border-color:color-mix(in srgb,var(--green) 25%,var(--line))}.badge.warn{background:color-mix(in srgb,var(--amber) 12%,var(--surface));color:var(--amber);border-color:color-mix(in srgb,var(--amber) 25%,var(--line))}.text-warning{color:var(--amber)!important}.arrow-link{min-width:40px;min-height:40px;color:var(--teal)}.search-field{background:var(--surface);border-radius:11px}.count{font-size:15px}.tabs{gap:12px;border-color:var(--line);overflow-x:auto}.tabs button{font-size:16px;padding:12px 18px;white-space:nowrap;color:var(--muted);border-radius:10px 10px 0 0}.tabs button.active{color:var(--teal);border-color:var(--teal);background:var(--surface-alt)}.details-grid small{font-size:14px}.details-grid strong{font-size:18px}.account-category>summary{font-size:17px}.account-category>summary span{font-size:15px}.notice{font-size:16px;border-radius:12px;padding:17px 20px;line-height:1.85}.notice.success{background:color-mix(in srgb,var(--green) 12%,var(--surface));border-color:var(--green);color:var(--green)}.notice.error{background:color-mix(in srgb,var(--red) 10%,var(--surface));color:var(--red)}.notice.neutral{background:var(--surface-alt);color:var(--muted)}.notice.warning{background:color-mix(in srgb,var(--amber) 12%,var(--surface));color:var(--amber)}.empty{font-size:17px}.empty p{font-size:15px}.modal{background:var(--surface);color:var(--dark);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 100px #0004}.modal[open]{animation:dialog-enter .22s ease}.modal::backdrop{background:#0b202b80;backdrop-filter:blur(5px)}.modal-head,.modal-foot{background:var(--surface);border-color:var(--line);padding:22px 26px}.modal-head h2{font-size:26px}.modal-head small{font-size:13px}.modal-body{padding:26px}.invoice-line{background:var(--surface-alt);border-color:var(--line);border-radius:13px;padding:18px}.total-box{background:var(--surface-alt);color:var(--teal);font-size:16px}.total-box strong{font-size:27px}.upload-box{border-color:var(--line);background:var(--surface-alt)}.app-footer{font-size:15px;color:var(--muted)}.app-footer small{font-size:13px}.permission-table th,.permission-table td{font-size:15px}.nav-backdrop{display:none}.login-form{max-width:540px}.login-form>p{font-size:18px}.login-form .theme-toggle{margin-bottom:20px}.login-form h1{font-size:42px}.remember,.back-site{font-size:16px}.login-overlay p{font-size:18px}
.public-site{background:var(--bg);color:var(--dark)}.site-header{background:var(--surface);gap:22px}.site-header nav{font-size:17px;color:var(--muted);gap:25px}.site-cta{font-size:16px;border-radius:10px;border-color:var(--line);gap:20px}.site-cta.dark{background:#246b60;border-color:#246b60}.site-cta:hover{background:#246b60}.hero-copy>p{font-size:20px;max-width:460px;color:var(--muted)}.hero-copy .eyebrow,.section-title .eyebrow,.craft-copy .eyebrow{font-size:13px}.underlined{font-size:17px;color:var(--teal)}.hero-caption{font-size:15px;color:var(--muted)}.photo-label{background:var(--bg)}.photo-label span,.photo-label small{font-size:12px;color:var(--muted)}.photo-index{font-size:14px}.material-strip{font-size:17px;color:var(--muted);border-color:var(--line);background:var(--surface)}.section-title p{font-size:18px}.work-info h3{font-size:25px}.work-info span{font-size:16px;color:var(--muted)}.work-card>small{font-size:13px}.work-photo,.project-gallery img{border-radius:18px}.craft-section{background:#183e3b}.craft-copy>p{font-size:18px;color:#c5d9d1}.craft-note p{font-size:16px;color:#c5d9d1}.service-item{border-color:var(--line)}.service-item p{font-size:17px}.service-number{font-size:15px;color:var(--copper)}.service-item h3{font-size:28px}.process-row small{font-size:14px;color:var(--copper)}.process-row h3{font-size:22px}.process-row p{font-size:16px}.contact-band{background:var(--sand)}.circle-cta{font-size:17px;color:var(--teal);border-color:var(--teal)}.site-footer{background:#142e30}.footer-main p,.footer-social,.footer-bottom{font-size:15px}.footer-bottom small{font-size:13px}.contact-details{font-size:18px}.project-public>p{font-size:19px}.demo-label{font-size:14px}.site-header .theme-toggle .theme-label{display:none}
[data-theme=dark] .admin-logo,[data-theme=dark] .site-logo img{filter:invert(1) brightness(1.2)}[data-theme=dark] .site-header nav,[data-theme=dark] .site-header nav.open{background:var(--surface);color:var(--dark)}[data-theme=dark] .contact-form input,[data-theme=dark] .contact-form textarea{border-color:var(--line);color:var(--dark)}[data-theme=dark] .invoice,[data-theme=dark] .invoice-top,[data-theme=dark] .invoice-summary{background:var(--surface);color:var(--dark)}[data-theme=dark] .pagination *{border-color:var(--line);color:var(--dark)}[data-theme=dark] .stat-card{box-shadow:0 7px 24px #0002}
@keyframes nav-reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes page-reveal{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(min-width:761px){.nav-collapsed{--nav-width:86px}.nav-collapsed .sidebar{padding:20px 11px}.nav-collapsed .admin-logo{width:58px;height:58px}.nav-collapsed .brand{padding:0}.nav-collapsed .admin-brand-caption,.nav-collapsed .workspace-label,.nav-collapsed .nav-label,.nav-collapsed .nav-group summary,.nav-collapsed .nav-search,.nav-collapsed .site-link{display:none}.nav-collapsed .nav-item{justify-content:center;padding:12px}.nav-collapsed .nav-group{border-top:1px solid var(--line);padding-top:7px;margin-top:7px}}
@media(max-width:1250px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.today{display:none}.site-header{padding:0 4%;gap:15px}.site-header nav{gap:17px;font-size:16px}.site-header>.site-cta{display:none}.main{padding:26px}.topbar{padding:0 24px}.user-name{display:none}}
@media(max-width:760px){:root{font-size:17px;--nav-width:290px}.sidebar{width:min(320px,86vw);transform:translateX(110%);z-index:60}.app-shell{margin-right:0}.nav-open .sidebar{transform:translateX(0)}.nav-open .nav-backdrop{display:block;position:fixed;inset:0;background:#071a2580;backdrop-filter:blur(3px);z-index:55}.nav-open{overflow:hidden}.nav-mobile-close{display:grid;margin-right:auto;margin-bottom:8px}.topbar{height:74px;padding:0 12px;gap:8px}.top-actions{gap:4px}.top-actions .avatar{display:none}.breadcrumb{font-size:14px}.breadcrumb span{margin:0 5px}.theme-toggle{padding:8px;min-width:44px}.theme-label{display:none}.main{padding:23px 16px}.page-heading{gap:16px}.page-heading p{font-size:16px}.page-heading h1{font-size:31px}.eyebrow{font-size:12px}.button{font-size:16px}.overview-banner{padding:24px;min-height:220px}.overview-banner h2{font-size:29px}.overview-banner p{font-size:15px}.stats-grid{gap:12px}.stat-card{padding:18px 14px}.stat-label{font-size:14px;min-height:48px;align-items:flex-start;flex-wrap:wrap}.stat-label>span{padding:5px}.stat-card>strong{font-size:27px}.stat-card p{font-size:13px}.stat-card>strong small{font-size:12px}.panel-heading{padding:19px 17px}.panel-heading h2{font-size:21px}.panel-heading p{font-size:14px}.project-row{padding:18px 16px;flex-wrap:wrap}.project-row strong,.account-row strong{font-size:16px}.project-row small{font-size:13px}.project-monogram{display:none}.project-row .grow{min-width:160px}.text-link{font-size:14px}td,th{padding:17px;font-size:15px}.toolbar{gap:10px}.toolbar .button{font-size:15px;padding:10px 14px}.search-field{flex-basis:100%}.modal,.modal.wide{border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.modal-head,.modal-foot{padding:17px}.modal-head h2{font-size:24px}.modal-body{padding:20px 17px}.modal-foot{box-shadow:0 -8px 24px #00008}.details-grid{grid-template-columns:1fr 1fr;gap:22px}.details-grid strong{font-size:17px}.heading-actions{width:100%}.site-header{padding:0 5%;gap:10px;height:94px}.site-header .site-logo{margin-left:auto}.site-header nav{top:94px;background:var(--surface);font-size:18px}.site-menu{display:inline-grid}.hero-copy h1{font-size:48px}.hero-copy>p{font-size:18px;max-width:none}.hero-copy .eyebrow{font-size:12px}.hero-links{flex-wrap:wrap}.hero-links .site-cta,.hero-links .underlined{font-size:16px}.hero-caption{font-size:14px;gap:18px}.hero-photo{min-height:390px;border-radius:16px}.material-strip{font-size:15px}.section-title h2{font-size:32px}.section-title .eyebrow{font-size:12px}.section-title p,.section-title .underlined{font-size:15px}.section-title{flex-wrap:wrap}.work-info{align-items:flex-start}.work-info h3{font-size:23px}.work-info span{font-size:15px}.craft-copy h2{font-size:38px}.craft-copy>p{font-size:18px}.service-item h3{font-size:25px}.service-item p{font-size:16px}.process-row{gap:23px}.process-row h3{font-size:20px}.process-row p{font-size:16px}.contact-band{flex-wrap:wrap}.contact-band h2{font-size:35px}.contact-band .eyebrow{font-size:12px}.circle-cta{font-size:16px;width:115px;height:115px}.footer-main p,.footer-social,.footer-bottom{font-size:15px}.footer-bottom small{font-size:13px}.login-form{padding:32px 24px}.login-form h1{font-size:36px}.login-form .theme-toggle .theme-label{display:inline}.public-site .theme-toggle{flex-shrink:0}}
@media(min-width:761px){.nav-mobile-close{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.theme-toggle,.nav-backdrop{display:none!important}:root[data-theme=dark]{--bg:#fff;--surface:#fff;--dark:#111;--muted:#555;--line:#ddd;color-scheme:light}.app-shell{margin:0}.main{animation:none}}
@media(max-width:760px){.modal form{max-height:100dvh}.sidebar{visibility:hidden}.nav-open .sidebar{visibility:visible}}
