@font-face{font-family:Manrope;src:url('/static/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--navy:#0f1b2a;--blue:#46769e;--copper:#b96d3f;--ink:#1f2a37;--muted:#586576;--line:#dde3e9;--paper:#f4f6f8;--white:#fff;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--copper);outline-offset:4px}header{min-height:100px;background:var(--navy);color:white;display:flex;align-items:center;gap:48px;padding:20px max(5vw,20px)}.brand{display:flex;align-items:center;gap:12px;color:white;font-size:18px;font-weight:800;letter-spacing:.16em;line-height:1.1}.brand:hover{text-decoration:none}.brand-mark{font-size:44px;letter-spacing:-.1em;line-height:1}.brand-mark span{color:var(--copper)}.brand small{display:block;font-size:9px;letter-spacing:.4em;margin-top:7px}header nav{display:flex;gap:24px}header nav a{color:#e2e8ef;font-size:14px;font-weight:700;padding:12px 0}.account{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:13px}.account small{display:block;color:#aab6c5;font-size:11px;margin-top:4px}.quiet{background:none;color:#d6e1ed;border:1px solid #435060;border-radius:6px;padding:11px 13px;font-size:12px}main{max-width:1320px;margin:auto;min-height:calc(100vh - 180px);padding:48px max(3vw,20px) 70px}footer{display:flex;gap:20px;justify-content:space-between;padding:25px max(5vw,20px);border-top:1px solid var(--line);font-size:11px;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,3.5vw,48px);font-weight:800;letter-spacing:-.055em;line-height:1.15;margin-bottom:14px}h1 span{color:var(--copper)}h2{font-size:21px;letter-spacing:-.025em}h3{font-size:22px;line-height:1.35;letter-spacing:-.025em}p{line-height:1.7}small{line-height:1.5}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--blue);margin-bottom:16px}.muted{color:var(--muted);font-size:14px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:48px;padding:13px 23px;border:1px solid transparent;background:var(--blue);color:white;border-radius:6px;font-weight:700;font-size:14px;text-decoration:none;transition:background .15s}.button:hover{background:#365a78;text-decoration:none}.button.secondary{color:var(--ink);background:white;border-color:var(--line)}.full{width:100%}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:8px 0 30px}.page-head p:last-child{margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:34px;overflow:hidden}.stats>div{padding:24px 30px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats span{display:block;font-size:12px;color:var(--muted)}.stats strong{font-size:38px;font-weight:600;letter-spacing:-.04em;display:flex;align-items:center;gap:14px;margin-top:8px}.dot{width:8px;height:8px;background:var(--copper);border-radius:50%}.filters{display:flex;align-items:end;gap:14px;margin:26px 0 34px}.filters>div:first-child{flex:1}.filters>div:nth-child(2){width:200px}label{font-size:12px;font-weight:700;display:block;margin-bottom:8px}input:not([type=checkbox]),select,textarea{background:white;border:1px solid #c5cdd6;border-radius:6px;padding:12px 14px;width:100%;min-height:48px;color:var(--ink)}textarea{resize:vertical}input[type=checkbox]{width:20px;height:20px;accent-color:var(--blue);vertical-align:middle;margin-right:8px}input:disabled,select:disabled{background:#ecf0f4;color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-head h2{margin:0}.section-head .muted{font-size:12px}.site-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.site-card{display:flex;flex-direction:column;background:white;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:24px;transition:box-shadow .15s,border-color .15s}.site-card:hover{border-color:var(--blue);box-shadow:0 8px 24px #0f1b2a0b;text-decoration:none}.card-top{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:28px}.project-no{font-size:11px;color:var(--muted);letter-spacing:.08em}.badge{display:inline-block;background:#e9eef5;color:#3b526b;padding:5px 10px;border-radius:4px;font-size:10px;font-weight:800;white-space:nowrap}.badge.active{background:#edf3eb;color:#426542}.badge.planned{background:#e7eef5;color:#365a78}.badge.done{background:#edf0f2;color:#586576}.site-card p{font-size:13px;color:var(--muted);margin-bottom:30px}.card-bottom{border-top:1px solid var(--line);padding-top:17px;margin-top:auto;display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--blue)}.empty{grid-column:1/-1;text-align:center;padding:65px 20px;background:white;border:1px dashed #bfcbd7;border-radius:10px}.empty p{font-size:14px;color:var(--muted)}.empty-symbol{color:var(--blue);font-size:48px;margin-bottom:12px}.empty h2{font-size:24px}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;max-width:1100px;min-height:570px;margin:28px auto;box-shadow:0 16px 60px #0f1b2a0c}.welcome{background:var(--navy);color:white;padding:48px;position:relative;overflow:hidden}.welcome .eyebrow{color:#b7cddd}.welcome h1{font-size:clamp(32px,3.4vw,46px);margin:30px 0 25px}.welcome>p:not(.eyebrow){font-size:13px;color:#bac9d9}.blueprint{height:145px;margin-top:20px;background:repeating-linear-gradient(0deg,transparent,transparent 23px,#ffffff07 24px),repeating-linear-gradient(90deg,transparent,transparent 23px,#ffffff07 24px);position:relative}.blueprint span{position:absolute;border:1px solid #7292ac;width:125px;height:90px;top:20px;left:20px}.blueprint span:nth-child(2){width:150px;height:65px;left:145px;top:45px}.blueprint span:nth-child(3){height:35px;width:50px;left:95px;top:75px;border-color:var(--copper)}.welcome-foot{font-size:9px!important;letter-spacing:.17em;position:absolute;bottom:22px}.login-card{background:white;padding:48px}.section-number{font-size:9px;letter-spacing:.15em;color:var(--muted);display:block;margin-bottom:34px}.login-card h2{font-size:26px}.login-card form{margin-top:30px}.hint{font-size:11px;color:var(--muted);line-height:1.7;margin-top:24px}.panel{background:white;border:1px solid var(--line);border-radius:9px;padding:30px}.form-wrap{max-width:740px;margin:auto}.form-wrap h1{font-size:32px}.back{display:inline-block;font-size:13px;font-weight:700;margin-bottom:26px}.edit-form{margin-top:26px}.edit-form p{margin-bottom:24px}.helptext{display:block;font-size:11px;color:var(--muted);margin-top:6px}.edit-form ul:not(.errorlist){font-size:11px;color:var(--muted);padding-left:20px}.errorlist{background:#fff1ef;color:#8a302b;padding:12px 16px;list-style:none;border-radius:5px;font-size:13px}.form-actions{display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:24px;margin-top:28px;font-size:13px}.notice{background:#eaf3e8;color:#375d35;border:1px solid #cfdfcb;border-radius:6px;padding:15px 20px;font-size:14px;margin-bottom:25px}.auth-panel{max-width:520px;margin:24px auto}.auth-panel h1{font-size:30px}.qr{display:block;max-width:100%;margin:24px auto}.setup-key{display:block;overflow-wrap:anywhere;background:var(--paper);padding:10px}.detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.detail-grid p{font-size:14px}.detail-grid hr{border:0;border-top:1px solid var(--line);margin:28px 0}.team-person{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.team-person small,.user-row small{display:block;color:var(--muted);font-size:11px}.avatar{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:#e7eef5;border-radius:50%;color:var(--blue);font-weight:800;flex-shrink:0}.user-list{padding:0 25px}.user-row{display:flex;align-items:center;gap:20px;padding:24px 0;color:var(--ink);border-bottom:1px solid var(--line);font-size:13px}.user-row:hover{text-decoration:none;color:var(--blue)}.user-row>span:nth-child(2){flex:1}.user-row:last-child{border:0}.connection{position:fixed;bottom:16px;left:16px;right:16px;padding:16px;background:var(--navy);color:white;border-left:4px solid var(--copper);font-size:14px}.skip{position:absolute;top:-100px;background:white;padding:15px;z-index:10}.skip:focus{top:0}
@media(max-width:900px){header{gap:25px}.account>span{display:none}.site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-layout{grid-template-columns:1fr 1fr}.welcome,.login-card{padding:30px}.welcome h1{font-size:36px}.user-row .role{max-width:140px}}
@media(max-width:620px){header{padding:16px 20px;gap:16px;flex-wrap:wrap;min-height:80px}.brand{font-size:14px}.brand-mark{font-size:34px}header nav{order:3;width:100%;border-top:1px solid #ffffff22;padding-top:10px;gap:28px}header nav a{padding:4px 0}.account{margin-left:auto}.quiet{padding:8px 10px}main{padding:28px 18px 45px}.page-head{align-items:flex-start;flex-direction:column;margin-bottom:24px}.page-head .button{width:100%}.stats>div{padding:16px 12px}.stats strong{font-size:28px}.stats span{font-size:10px}.filters{flex-wrap:wrap;gap:10px}.filters>div:first-child{flex:1 0 100%}.filters>div:nth-child(2){width:auto;flex:1}.filters .button{padding:12px 20px}.site-grid,.detail-grid{grid-template-columns:1fr}.site-card{padding:22px}.empty{padding:40px 16px}.empty h2{font-size:21px}.login-layout{grid-template-columns:1fr;margin:0}.welcome{padding:28px}.welcome h1{font-size:34px;margin:15px 0}.welcome .blueprint,.welcome-foot{display:none}.welcome>p:last-of-type{margin-bottom:0}.login-card{padding:30px 24px}.section-number{margin-bottom:20px}.login-card h2{font-size:23px}.panel{padding:24px 20px}.user-list{padding:0 16px}.user-row{gap:12px;flex-wrap:wrap}.user-row>span:nth-child(2){flex:1;min-width:180px;overflow-wrap:anywhere}.user-row .role{margin-left:50px;font-size:11px}.user-row>span:last-child{display:none}.auth-panel{margin:0}.form-wrap h1{font-size:28px}footer{padding:20px;flex-direction:column;gap:12px}.form-actions{gap:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
