:root{--bg:#f6f3ee;--paper:#fff;--ink:#30261f;--muted:#756a60;--line:#e4dcd1;--soft:#f3ece2;--brand:#593724;--accent:#bc955e;--good:#246449;--good-bg:#edf5ef;--warn:#835a20;--warn-bg:#fff4dd;--bad:#ab362c;--bad-bg:#fff0ec;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--brand);text-underline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.14}h1{font-size:32px;margin-bottom:12px}h2{font-size:25px}h3{font-size:16px;margin-bottom:14px}p{margin-bottom:16px}small,.muted{color:var(--muted)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;z-index:10;left:15px;top:-100px;background:white;padding:12px}.skip:focus{top:10px}.boot{height:90vh;display:grid;place-content:center;text-align:center}.boot img{width:100px;margin:0 auto 24px}
.top{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);padding:12px max(24px,calc((100vw - 1300px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:90px}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink)}.brand img{width:82px;height:62px;object-fit:contain}.brand strong{font-size:15px}.brand small{display:block;font-size:12px}.top-right{display:flex;align-items:center;gap:15px}.account{font-size:12px;text-align:right}.account button{display:block;margin-left:auto;color:var(--muted);border:0;background:transparent;padding:4px 0}.sync{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--muted);padding:8px;font-size:11px;text-align:left;max-width:230px}.sync svg{width:19px;height:19px;flex-shrink:0}.sync[data-status=ok]{color:var(--good)}.sync[data-status=error]{color:var(--bad)}.sync[data-status=pending]{color:var(--warn)}.sync[data-status=loading] svg{animation:spin 1.2s linear infinite}.sync small{display:block;font-size:10px;color:inherit}.sync[data-status=loading]{color:var(--brand)}@keyframes spin{to{transform:rotate(360deg)}}
.layout{max-width:1300px;margin:auto;display:grid;grid-template-columns:215px minmax(0,1fr);min-height:calc(100vh - 90px)}.rail{padding:30px 20px;border-right:1px solid var(--line)}.rail-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;margin:0 10px 14px}.nav{display:flex;flex-direction:column;gap:6px}.step{display:flex;align-items:center;gap:10px;border:0;background:transparent;border-radius:9px;padding:12px 10px;font-size:13px;color:var(--muted);text-align:left}.step.current{background:var(--soft);color:var(--brand);font-weight:600}.step-no{width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;flex-shrink:0;font-size:11px}.step.current .step-no{background:var(--brand);color:#fff;border-color:var(--brand)}.rail-project{margin:28px 10px;font-size:12px;word-break:break-word}.rail-project strong{display:block;margin-bottom:7px}.main{padding:35px 40px 60px;min-width:0}.main.remote{max-width:880px;margin:auto}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);margin-bottom:9px}.intro{font-size:14px;color:var(--muted);max-width:670px;margin-bottom:26px}.box{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:13px;margin-bottom:18px}.box> :last-child{margin-bottom:0}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:block;margin:0 0 20px}.field>span,.label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.field small{display:block;font-size:12px;margin-top:6px;font-weight:400}.input{display:block;width:100%;min-height:47px;padding:10px 13px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:16px}textarea.input{min-height:95px;resize:vertical}.input:disabled{color:var(--muted);background:#f7f5f2}.choices{display:flex;gap:9px;flex-wrap:wrap}.choice{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:11px 17px;color:var(--ink);min-height:46px;text-align:left;font-size:14px}.choice[aria-pressed=true]{color:#fff;background:var(--brand);border-color:var(--brand)}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none;border:1px solid var(--brand);border-radius:8px;background:var(--brand);color:white;min-height:46px;padding:10px 18px;font-weight:600;font-size:13px;line-height:1.4}.button.secondary{background:var(--paper);color:var(--ink);border-color:var(--line)}.button.quiet{background:transparent;border-color:transparent;color:var(--muted);padding-left:0}.button.danger{background:var(--bad);border-color:var(--bad)}.button svg{width:17px;height:17px}.footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.notice{padding:13px 15px;border-radius:9px;background:var(--soft);font-size:13px;margin-bottom:17px}.notice.good{background:var(--good-bg);color:var(--good)}.notice.warn{background:var(--warn-bg);color:var(--warn)}.notice.error{background:var(--bad-bg);color:var(--bad)}.notice p:last-child{margin-bottom:0}.notice .row{margin-top:9px}.pill{display:inline-block;padding:5px 9px;border-radius:20px;background:var(--soft);font-size:10px;color:var(--muted)}.pill.good{background:var(--good-bg);color:var(--good)}.data{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;margin:0}.data dt{font-size:11px;color:var(--muted);margin-bottom:3px}.data dd{font-size:14px;margin:0;white-space:pre-line;overflow-wrap:anywhere}.sub{font-size:12px;color:var(--muted)}.project-list{display:grid;gap:9px;margin-top:18px}.project{width:100%;text-align:left;padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.project:hover{border-color:var(--accent)}.project strong{display:block;font-size:15px;margin-bottom:3px}.project small{display:block}.empty{text-align:center;padding:35px 15px;color:var(--muted)}.check{display:flex;align-items:flex-start;gap:10px;font-size:13px;padding:10px 0}.check input{width:20px;height:20px;flex-shrink:0;margin:1px 0 0;accent-color:var(--brand)}.check span{flex:1}.signature{width:100%;height:210px;border:1px dashed #b3a390;background:white;border-radius:9px;touch-action:none;display:block;margin:12px 0 4px}.signature-label{font-size:11px;color:var(--muted)}.message{padding:16px;border-radius:8px;background:var(--soft);white-space:pre-wrap;font-size:13px;overflow-wrap:anywhere}details{margin:15px 0}summary{font-size:13px;color:var(--brand);cursor:pointer;padding:7px 0}.files{list-style:none;margin:0;padding:0}.file{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.file:last-child{border-bottom:0}.file-icon{width:34px;height:40px;border-radius:7px;background:var(--soft);color:var(--brand);display:grid;place-items:center;font-size:10px;font-weight:700;flex-shrink:0}.file strong{font-size:13px}.file small{display:block;font-size:11px}.file a{margin-left:auto;font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}th{font-size:11px;color:var(--muted);font-weight:500;background:var(--soft)}td:last-child,th:last-child{text-align:right}tfoot td{font-weight:700}.status-row{display:flex;gap:13px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}.status-row:last-child{border:0}.status-icon{display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;border-radius:50%;background:var(--soft);color:var(--muted);font-size:12px}.status-icon.good{background:var(--good-bg);color:var(--good)}.status-icon.error{background:var(--bad-bg);color:var(--bad)}.status-row strong{font-size:14px}.status-row p{font-size:12px;color:var(--muted);margin:4px 0 0}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:18px}.photo-card{border:1px solid var(--line);border-radius:10px;overflow:hidden}.photo-card img{width:100%;height:190px;object-fit:cover;display:block;background:var(--soft)}.photo-body{padding:13px}.photo-body textarea{font-size:13px;min-height:76px}.photo-body .button{font-size:11px;padding:8px 10px;min-height:38px}.photo-body .row{gap:7px;margin-top:9px}.photo-caption{font-size:12px;margin:8px 0}.total{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:14px;margin-top:14px;font-size:15px;font-weight:700}.signed{text-align:center;padding:20px 5px}.signed .status-icon{width:44px;height:44px;font-size:20px;margin:0 auto 14px}.login{max-width:430px;padding:38px 28px;margin:9vh auto 30px}.login-logo{display:block;width:116px;height:91px;object-fit:contain;margin:0 auto 25px}.login h1{text-align:center}.login .intro{text-align:center}.login button[type=submit]{width:100%}.login-footer{text-align:center;font-size:11px;color:var(--muted)}.loading-line{font-size:12px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ink);color:#fff;z-index:30;padding:12px 18px;border-radius:9px;max-width:min(90vw,550px);font-size:13px;box-shadow:0 6px 26px #0002}dialog{border:1px solid var(--line);border-radius:15px;width:min(560px,calc(100vw - 30px));max-height:85vh;padding:27px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#20150d66}dialog h2{font-size:24px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.inline-error{color:var(--bad);font-size:13px}.remote .project-data{margin-bottom:20px}.readonly-note{margin-bottom:18px}.spinner{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}
@media(max-width:850px){.top{padding:10px 20px}.brand strong{font-size:13px}.layout{grid-template-columns:175px minmax(0,1fr)}.rail{padding:24px 12px}.main{padding:28px 24px}.box{padding:21px}.sync small{max-width:130px}.account{display:none}}
@media(max-width:680px){.top{min-height:75px;padding:9px 16px;gap:10px}.brand{gap:10px}.brand img{width:64px;height:49px}.brand strong{font-size:12px}.brand small{font-size:10px}.sync{max-width:165px;font-size:10px;padding:5px}.sync small{font-size:9px}.layout{display:block}.rail{border-right:0;border-bottom:1px solid var(--line);padding:12px 10px}.rail-label,.rail-project{display:none}.nav{flex-direction:row;overflow-x:auto;gap:5px;padding-bottom:2px}.step{padding:8px;font-size:11px;white-space:nowrap;gap:6px}.step-no{width:22px;height:22px}.main{padding:25px 17px 45px}h1{font-size:29px}.box{padding:18px}.intro{font-size:13px}.grid{grid-template-columns:1fr;gap:0}.photo-grid{gap:10px}.photo-card img{height:150px}.photo-body{padding:10px}.photo-body .row{flex-direction:column;align-items:stretch}.data{gap:15px}.signature{height:200px}.button{padding:11px 15px}.top-right{gap:4px}}
@media(max-width:390px){.brand strong{display:none}.brand small{font-size:11px}.photo-grid{grid-template-columns:1fr}.footer .button:not(.quiet){width:100%}.data{grid-template-columns:1fr}.step:not(.current) .step-text{display:none}.box{padding:16px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
