:root{--canvas: #f3f0e9;--ink: #191816;--accent: #71354a;--line:#d2ccc1;--paper:#faf8f3;--muted:#716d66;--bar:56px;font-family:Manrope,Inter,Arial,sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}.wordmark{font-size:14px;font-weight:700;letter-spacing:2px}.utility-label{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent)}h1,h2{font-family:Prata,Georgia,serif;font-weight:400;letter-spacing:0}.button{min-height:42px;border:1px solid var(--ink);padding:10px 18px;background:transparent;cursor:pointer}.button--primary{border-color:var(--accent);background:var(--accent);color:#fff}.icon-text,.text-button{border:0;background:none;color:var(--accent);cursor:pointer}.app-page{min-height:100vh}.app-header{height:74px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:#fff}.app-header nav,.header-account{display:flex;align-items:center;gap:26px;font-size:13px}.projects-main,.admin-main{padding:clamp(54px,8vw,110px) clamp(24px,7vw,110px)}.projects-main h1,.page-title h1{font-size:clamp(38px,5vw,68px);margin:0 0 58px}.project-table{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:1.45fr .85fr 1.1fr 1fr;gap:20px;align-items:center;min-height:74px;border-bottom:1px solid var(--line);font-size:14px}.project-row--head{min-height:48px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.status{color:var(--accent)}.status i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent);margin-right:10px}.row-action{color:var(--accent);display:flex;justify-content:space-between}.empty-state{padding:80px 0;border-top:1px solid var(--line)}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.login-brand{padding:64px 8vw;display:flex;flex-direction:column;justify-content:space-between;background:var(--ink);color:#fff}.login-brand h1{font-size:clamp(58px,7vw,108px);line-height:.98;margin:auto 0 30px}.login-brand p{max-width:440px;color:#d6d1c9;font-size:18px;line-height:1.6}.login-form-wrap{display:grid;place-items:center;padding:40px}.login-form{width:min(390px,100%)}.login-form h2{font-size:48px;margin:12px 0 40px}.field{display:grid;gap:8px;margin:0 0 22px;font-size:12px;font-weight:600}.field input{height:48px;border:0;border-bottom:1px solid var(--line);background:transparent;outline:none}.field input:focus{border-color:var(--accent)}.login-form .button{width:100%;margin-top:14px}.form-error,.notice{padding:12px;border-left:3px solid var(--accent);background:#eee4e4}.review-page{overflow:hidden}.review-app{height:100vh;background:#fff}.review-topbar{height:var(--bar);display:grid;grid-template-columns:auto auto 1fr auto;gap:26px;align-items:center;padding:0 22px;border-bottom:1px solid var(--line);background:var(--paper);font-size:13px}.review-back{display:flex;gap:8px}.current-path{color:var(--muted)}.remarks-toggle{min-height:36px;padding:7px 14px}.review-body{height:calc(100vh - var(--bar));display:flex}.review-body iframe{flex:1;width:100%;border:0;background:#fff}.review-panel{width:380px;flex:0 0 380px;border-left:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;transition:transform .2s ease}.review-panel[aria-hidden=true]{display:none}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 10px}.panel-head h1{font-size:28px;margin:0}.icon-button{border:0;background:transparent;font-size:28px;cursor:pointer}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 16px}.tab{padding:12px;border:0;border-bottom:2px solid transparent;background:transparent;cursor:pointer}.tab.is-active{color:var(--accent);border-color:var(--accent)}.remark-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px}.remark-actions button{padding:10px;border:1px solid var(--line);background:transparent}.remarks-list{flex:1;overflow:auto;border-top:1px solid var(--line)}.remark-item{padding:15px 18px;border-bottom:1px solid var(--line);cursor:pointer}.remark-item small{display:block;color:var(--muted);margin-top:6px}.remark-form{padding:16px;border-top:1px solid var(--line)}.remark-form textarea{width:100%;min-height:100px;resize:vertical;border:1px solid var(--line);background:#fff;padding:12px;margin-bottom:10px}.remark-form .button{width:100%}.admin-main section{margin-top:55px}.page-title{display:flex;justify-content:space-between;align-items:flex-start}.admin-main h2{font-size:28px}.admin-table{border-top:1px solid var(--line)}.admin-row{display:grid;grid-template-columns:1.2fr 1.2fr .7fr .8fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center;font-size:13px}.form-page,.simple-page{max-width:680px;margin:0 auto;padding:70px 24px}.form-page h1,.simple-page h1{font-size:52px}.entity-form fieldset{border:1px solid var(--line);margin:26px 0;padding:18px}.check{display:block;margin:12px 0}.unavailable-page{min-height:100vh;display:grid;place-items:center}.unavailable{max-width:670px;padding:50px}.unavailable h1{font-size:64px;line-height:1.05}.unavailable>p:last-child{font-size:18px;line-height:1.7}.review-highlight{outline:3px solid #9a294f!important;outline-offset:3px!important}@media(max-width:760px){.login-layout{grid-template-columns:1fr}.login-brand{min-height:38vh;padding:36px 24px}.login-brand h1{font-size:54px}.project-row--head{display:none}.project-row{grid-template-columns:1fr auto;padding:20px 0}.project-row>*:nth-child(2),.project-row>*:nth-child(3){font-size:12px}.app-header{padding:0 18px}.header-account>span{display:none}.projects-main,.admin-main{padding:44px 20px}.review-topbar{grid-template-columns:auto 1fr auto;gap:10px}.review-back span,.current-path{display:none}.review-panel{position:fixed;inset:var(--bar) 0 0;width:100%;z-index:5}.admin-row{grid-template-columns:1fr}.page-title{display:block}.page-title .button{display:inline-block;margin-bottom:20px}}
