:root{--color-canvas:#f4f3ef;--color-surface:#fbfaf7;--color-ink:#1d211f;--color-muted:#6d716e;--color-line:#d9dad5;--color-action:#273630;--color-action-hover:#17221e;--color-error:#9e332b;--color-error-soft:#f7e9e6;--color-visual:#7f8882;--font-sans:Arial, Helvetica, sans-serif;--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--radius-sm:.5rem;--radius-md:.875rem;--shadow-focus:0 0 0 3px #27363029;--content-width:29rem}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:var(--color-ink);background:var(--color-canvas);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.auth-shell{grid-template-columns:minmax(21rem,1.05fr) minmax(30rem,.95fr);min-height:100svh;display:grid}.auth-visual{color:#fff;background:var(--color-visual);min-height:100svh;position:relative;overflow:hidden}.auth-visual__image{background:linear-gradient(145deg,#aeb4af 0%,#717d77 42%,#49534f 100%);position:absolute;inset:0}.auth-visual__image:before{content:"";background:linear-gradient(155deg,#ffffff29,#0000 58%);border:1px solid #ffffff47;border-radius:50% 50% 6% 6%;width:58%;height:58%;position:absolute;top:16%;right:9%}.auth-visual__image:after{content:"BILDMOTIV";letter-spacing:.24em;opacity:.52;font-size:.65rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-visual__overlay{background:linear-gradient(#0c14111a,#0c1411ab);position:absolute;inset:0}.auth-visual__content{z-index:1;flex-direction:column;justify-content:space-between;min-height:100%;padding:clamp(2rem,5vw,5rem);display:flex;position:relative}.brand-mark{width:fit-content;color:inherit;align-items:baseline;gap:.6rem;display:inline-flex}.brand-mark span{letter-spacing:.22em;font-size:1.15rem;font-weight:700}.brand-mark small{letter-spacing:.18em;font-size:.62rem}.auth-visual__copy{max-width:40rem}.eyebrow{margin:0 0 var(--space-3);letter-spacing:.15em;text-transform:uppercase;font-size:.68rem;font-weight:700;line-height:1.45}.auth-visual__copy h1{letter-spacing:-.045em;margin:0;font-size:clamp(2.5rem,5vw,5.25rem);font-weight:400;line-height:.98}.auth-panel{background:var(--color-surface);place-items:center;min-height:100svh;padding:clamp(2rem,7vw,7rem);display:grid}.auth-panel__inner{width:min(100%, var(--content-width))}.auth-form{gap:var(--space-4);display:grid}.auth-heading{margin-bottom:var(--space-3)}.auth-heading h2{margin:0 0 var(--space-3);letter-spacing:-.035em;font-size:clamp(2rem,3.5vw,3rem);font-weight:500;line-height:1.08}.auth-heading>p:last-child{max-width:27rem;color:var(--color-muted);margin:0;font-size:1rem;line-height:1.65}.field{gap:var(--space-1);display:grid}.field label{font-size:.84rem;font-weight:600}.field input{border:1px solid var(--color-line);border-radius:var(--radius-sm);width:100%;min-height:3.25rem;color:var(--color-ink);background:0 0;outline:none;padding:.8rem 1rem}.field input:focus{border-color:var(--color-action);box-shadow:var(--shadow-focus)}.password-input{position:relative}.password-input input{padding-right:6.5rem}.password-toggle{color:var(--color-muted);cursor:pointer;background:0 0;border:0;padding:.55rem .6rem;font-size:.78rem;font-weight:600;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.primary-button,.secondary-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;min-height:3.25rem;font-weight:700}.primary-button{width:100%;margin-top:var(--space-1);color:#fff;background:var(--color-action)}.primary-button:hover:not(:disabled){background:var(--color-action-hover)}.primary-button:disabled{cursor:wait;opacity:.62}.primary-button:focus-visible,.secondary-button:focus-visible,.text-link:focus-visible,.password-toggle:focus-visible{box-shadow:var(--shadow-focus);outline:none}.text-link{color:var(--color-ink);text-underline-offset:.22em;justify-self:center;font-size:.86rem}.text-link--left{justify-self:start}.form-message{border-radius:var(--radius-sm);margin:0;padding:.8rem 1rem;font-size:.86rem;line-height:1.5}.form-message--error{color:var(--color-error);background:var(--color-error-soft)}.brand-mark--dark{color:var(--color-ink)}.secondary-button{border-color:var(--color-line);min-height:2.6rem;color:var(--color-ink);background:0 0;padding:0 1rem}.secondary-button:hover{background:var(--color-canvas)}.internal-shell{background:var(--color-canvas);min-height:100svh}.sidebar{z-index:30;width:17.5rem;padding:var(--space-5) var(--space-3);border-right:1px solid var(--color-line);background:var(--color-surface);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.sidebar__brand{min-height:2.75rem;padding:0 var(--space-3);justify-content:space-between;align-items:center;display:flex}.sidebar__brand a{text-decoration:none}.sidebar__nav{margin-top:var(--space-6);gap:.25rem;display:grid}.nav-link{min-height:3rem;padding:.65rem var(--space-3);border-radius:var(--radius-sm);color:var(--color-muted);align-items:center;gap:.85rem;font-size:.9rem;font-weight:600;text-decoration:none;display:flex}.nav-link:hover{color:var(--color-ink);background:var(--color-canvas)}.nav-link--active{color:var(--color-ink);background:#ebeae5}.app-icon{flex:none;width:1.15rem;height:1.15rem}.sidebar__close,.menu-button,.sidebar-backdrop{display:none}.icon-button{color:var(--color-ink);cursor:pointer;background:0 0;border:0}.internal-main{min-width:0;margin-left:17.5rem}.topbar{z-index:20;border-bottom:1px solid var(--color-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f4f3efeb;justify-content:space-between;align-items:center;min-height:5.25rem;padding:0 clamp(1.5rem,4vw,4rem);display:flex;position:sticky;top:0}.topbar__title{align-items:center;gap:var(--space-3);display:flex}.topbar__title p{margin:0;font-size:.95rem;font-weight:700}.topbar__account{align-items:center;gap:var(--space-4);display:flex}.topbar__identity{text-align:right;gap:.2rem;display:grid}.topbar__identity strong{font-size:.84rem}.topbar__identity span{color:var(--color-muted);font-size:.74rem}.secondary-button--compact{min-height:2.4rem;font-size:.8rem}.internal-content{width:min(100%,100rem);margin:0 auto;padding:clamp(2rem,5vw,4.5rem)}.dashboard{gap:clamp(2rem,4vw,3.5rem);display:grid}.dashboard-hero{justify-content:space-between;align-items:end;gap:var(--space-5);display:flex}.dashboard-hero h1,.placeholder-page h1{letter-spacing:-.05em;margin:0;font-size:clamp(2.35rem,4.5vw,4.5rem);font-weight:400;line-height:1.02}.dashboard-hero p:not(.eyebrow),.placeholder-page>p:last-child{max-width:42rem;margin:var(--space-3) 0 0;color:var(--color-muted);line-height:1.65}.primary-button--link,.secondary-button--link{white-space:nowrap;justify-content:center;align-items:center;width:auto;padding:0 1.25rem;text-decoration:none;display:inline-flex}.metric-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metric-card{min-height:10.5rem;padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;justify-content:space-between;display:flex}.metric-card span{max-width:11rem;color:var(--color-muted);font-size:.82rem;line-height:1.45}.metric-card strong{letter-spacing:-.04em;font-size:2.6rem;font-weight:400}.dashboard-grid{gap:var(--space-3);grid-template-columns:1.4fr 1fr;display:grid}.dashboard-panel{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;min-height:19rem;padding:clamp(1.5rem,3vw,2.25rem)}.dashboard-panel--projects{grid-row:span 2}.section-heading .eyebrow{margin-bottom:var(--space-1);color:var(--color-muted)}.section-heading h2{letter-spacing:-.025em;margin:0;font-size:1.35rem;font-weight:500}.empty-state{justify-content:center;align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;min-height:11rem;display:flex}.empty-state p{max-width:28rem;color:var(--color-muted);margin:0;line-height:1.6}.dashboard-panel--quick{min-height:auto}.quick-links{margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.quick-links a{border:1px solid var(--color-line);border-radius:var(--radius-sm);min-height:3.5rem;color:var(--color-ink);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.quick-links a:hover{background:var(--color-canvas)}.quick-links span{color:var(--color-muted)}.placeholder-page{width:min(100%,48rem);padding-top:clamp(2rem,10vh,8rem)}.page-heading{margin-bottom:clamp(2rem,5vw,4rem)}.page-heading h1{letter-spacing:-.05em;margin:0;font-size:clamp(2.4rem,5vw,4.75rem);font-weight:400;line-height:1}.page-heading>p:last-child{margin:var(--space-3) 0 0;color:var(--color-muted);line-height:1.6}.page-heading--actions{justify-content:space-between;align-items:end;gap:var(--space-4);display:flex}.back-link{margin-bottom:var(--space-5);color:var(--color-muted);font-size:.86rem;font-weight:600;text-decoration:none;display:inline-block}.back-link:hover{color:var(--color-ink)}.project-form{gap:var(--space-3);display:grid}.project-form-section{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;margin:0;padding:clamp(1.25rem,3vw,2rem)}.project-form-section legend{letter-spacing:.1em;text-transform:uppercase;padding:0 .5rem;font-size:.78rem;font-weight:700}.project-form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-field{flex-direction:column;gap:.45rem;min-width:0;display:flex}.project-field:has(textarea){grid-column:1/-1}.project-field label{font-size:.82rem;font-weight:600}.project-field input,.project-field select,.project-field textarea{border:1px solid var(--color-line);border-radius:var(--radius-sm);width:100%;min-height:3rem;color:var(--color-ink);background:0 0;outline:none;padding:.75rem .9rem}.project-field textarea{resize:vertical;line-height:1.55}.project-field input:focus,.project-field select:focus,.project-field textarea:focus{border-color:var(--color-action);box-shadow:var(--shadow-focus)}.project-field small{color:var(--color-muted);font-size:.75rem;line-height:1.45}.field-error{color:var(--color-error);margin:0;font-size:.76rem}.form-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);padding-top:var(--space-3);display:flex}.form-actions--split{justify-content:space-between}.primary-button--inline{width:auto;margin:0;padding:0 1.35rem}.danger-button{color:var(--color-error)}.save-confirmation{color:var(--color-muted);font-size:.8rem}.empty-state--surface{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-height:22rem}.table-scroll{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);max-width:100%;overflow-x:auto}.project-table{border-collapse:collapse;width:100%;min-width:64rem}.project-table th,.project-table td{border-bottom:1px solid var(--color-line);text-align:left;vertical-align:middle;padding:1rem 1.15rem}.project-table th{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.project-table td{font-size:.82rem}.project-table tbody tr:last-child td{border-bottom:0}.project-table tbody tr:hover{background:var(--color-canvas)}.project-table a{color:var(--color-ink);font-weight:700;text-decoration:none}.status-badge{border:1px solid var(--color-line);min-height:1.75rem;color:var(--color-ink);background:var(--color-canvas);white-space:nowrap;border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.recent-projects{margin-top:var(--space-4);display:grid}.recent-projects>a{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-line);color:var(--color-ink);padding:1rem 0;text-decoration:none;display:flex}.recent-projects>a:last-child{border-bottom:0}.recent-projects>a>div{gap:.3rem;display:grid}.recent-projects>a>div:last-child{justify-items:end}.recent-projects strong{font-size:.86rem}.recent-projects span:not(.status-badge),.recent-projects time{color:var(--color-muted);font-size:.72rem}.project-detail-header{padding-bottom:var(--space-5);border-bottom:1px solid var(--color-line)}.project-detail-header__main{justify-content:space-between;align-items:end;gap:var(--space-4);display:flex}.project-detail-header h1{letter-spacing:-.05em;margin:0;font-size:clamp(2.4rem,5vw,5rem);font-weight:400;line-height:1}.project-facts{margin:var(--space-5) 0 0;flex-wrap:wrap;gap:clamp(2rem,6vw,5rem);display:flex}.project-facts div,.detail-list div{gap:.35rem;display:grid}.project-facts dt,.detail-list dt{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}.project-facts dd,.detail-list dd{overflow-wrap:anywhere;margin:0}.project-facts dd{font-size:.84rem}.project-detail__body{padding-top:var(--space-5);grid-template-columns:12rem minmax(0,1fr);gap:clamp(2rem,5vw,5rem);display:grid}.project-subnav{flex-direction:column;align-self:start;gap:.2rem;display:flex}.project-subnav a{color:var(--color-muted);border-left:2px solid #0000;padding:.65rem .75rem;font-size:.82rem;font-weight:600;text-decoration:none}.project-subnav a:hover{color:var(--color-ink)}.project-subnav .project-subnav__active{border-left-color:var(--color-action);color:var(--color-ink)}.project-detail__content{min-width:0}.project-overview-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.detail-card{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;padding:clamp(1.25rem,3vw,2rem)}.detail-card--wide{grid-column:1/-1}.detail-card h2{margin:0 0 var(--space-3);font-size:1.35rem;font-weight:500}.status-summary{justify-content:space-between;align-items:end;gap:var(--space-4);display:flex}.status-summary h2{margin:var(--space-4) 0 .35rem}.status-summary p{color:var(--color-muted);margin:0}.detail-list{margin:0 0 var(--space-4);gap:1rem;display:grid}.progress-list,.activity-list{color:var(--color-muted);gap:.8rem;margin:0;padding:0;font-size:.84rem;list-style:none;display:grid}.progress-list .done{color:var(--color-ink)}.activity-list li{justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--color-line);padding-bottom:.8rem;display:flex}.activity-list time{color:var(--color-muted);font-size:.72rem}.project-form--compact .project-form-section{padding-top:var(--space-4)}@media (max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:34svh}.auth-visual__content{min-height:34svh;padding:1.5rem}.auth-visual__copy .eyebrow{display:none}.auth-visual__copy h1{font-size:clamp(2rem,8vw,3.2rem)}.auth-panel{place-items:start center;min-height:66svh;padding:3rem 1.5rem}.sidebar{width:min(19rem,88vw);transition:transform .16s ease-out;transform:translate(-102%);box-shadow:1rem 0 3rem #1d211f1f}.sidebar--open{transform:translate(0)}.sidebar__close{width:2.5rem;height:2.5rem;font-size:1.6rem;display:block}.sidebar-backdrop{z-index:25;background:#1d211f59;border:0;width:100%;display:block;position:fixed;inset:0}.internal-main{margin-left:0}.topbar{min-height:4.75rem;padding:0 1.25rem}.menu-button{place-content:center;gap:4px;width:2.5rem;height:2.5rem;display:grid}.menu-button span{background:currentColor;width:1.15rem;height:1px;display:block}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-panel--projects{grid-row:auto}.project-detail__body{grid-template-columns:1fr}.project-subnav{flex-direction:row;max-width:100%;padding-bottom:.5rem;overflow-x:auto}.project-subnav a{white-space:nowrap;border-bottom:2px solid #0000;border-left:0}.project-subnav .project-subnav__active{border-bottom-color:var(--color-action);border-left-color:#0000}}@media (max-width:480px){.auth-visual,.auth-visual__content{min-height:29svh}.auth-panel{min-height:71svh;padding-top:2.5rem}.auth-heading h2{font-size:2rem}.topbar__identity{display:none}.topbar__title p{font-size:.85rem}.internal-content{padding:2rem 1.15rem 3rem}.dashboard-hero{flex-direction:column;align-items:stretch}.primary-button--link{width:100%}.metric-grid{grid-template-columns:1fr}.metric-card{min-height:8.5rem}.dashboard-panel{padding:1.25rem}.quick-links{grid-template-columns:1fr}.page-heading--actions,.project-detail-header__main,.status-summary{flex-direction:column;align-items:stretch}.page-heading--actions .primary-button--link,.project-detail-header__main .primary-button{width:100%}.project-form-grid,.project-overview-grid{grid-template-columns:1fr}.detail-card--wide{grid-column:auto}.form-actions,.form-actions--split{flex-direction:column;align-items:stretch}.form-actions .primary-button,.form-actions .secondary-button{width:100%}.project-facts{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.recent-projects>a{align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
