*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#05092c;--blue:#1e6bff;--paper:#fff;--paper-2:#f4f6fb;--border:#05092c1a;--muted:#4a5070;--green:#16a34a;--amber:#b45309;--red:#dc2626}body{background:var(--paper-2);color:var(--navy);font-family:system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55}.wrap{max-width:880px;margin:0 auto;padding:2.2rem 1.25rem 4rem}.brand{font-size:1.05rem;font-weight:800}.brand span{color:var(--blue)}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.8rem;display:flex}.top-right{color:var(--muted);align-items:center;gap:.8rem;font-size:.82rem;display:flex}.langs{align-items:center;gap:.15rem;display:flex}.lang{color:var(--muted);letter-spacing:.02em;border-radius:6px;padding:.2rem .42rem;font-size:.76rem;font-weight:650;text-decoration:none;display:inline-block}.lang:hover{color:var(--navy);background:#05092c0f}.lang.on{color:var(--blue);background:#1e6bff1a}.card{background:var(--paper);border:1px solid var(--border);border-radius:14px;padding:1.5rem;box-shadow:0 1px 3px #05092c0d}.card+.card,.stack>*+*{margin-top:1rem}h1{letter-spacing:-.01em;margin-bottom:.35rem;font-size:1.45rem}h2{justify-content:space-between;align-items:baseline;gap:.8rem;margin-bottom:.75rem;font-size:1.02rem;display:flex}h2 .h-note{color:var(--muted);font-size:.78rem;font-weight:400}.muted{color:var(--muted)}label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.35rem;font-size:.78rem;display:block}input,textarea{border:1px solid var(--border);width:100%;font:inherit;color:var(--navy);background:var(--paper);border-radius:8px;padding:.7rem .8rem}input:focus,textarea:focus{border-color:var(--blue);outline:none}textarea{resize:vertical;min-height:90px}.btn{background:var(--blue);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.2rem;font-weight:650;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{color:var(--muted);border:1px solid var(--border);font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:.35rem;padding:.45rem .9rem;text-decoration:none;display:inline-flex}.btn-ghost:hover{color:var(--blue);border-color:var(--blue)}.btn-sm{padding:.4rem .8rem;font-size:.82rem}.chip{text-transform:uppercase;letter-spacing:.05em;background:var(--paper-2);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;padding:.16rem .6rem;font-size:.68rem;font-weight:700;display:inline-flex}.chip.ok{color:var(--green);background:#16a34a1a}.chip.info{color:var(--blue);background:#1e6bff1a}.chip.warn{color:var(--amber);background:#b453091a}.chip.bad{color:var(--red);background:#dc262614}.msg{margin-top:.8rem;font-size:.9rem}.msg.ok{color:var(--green)}.msg.err{color:var(--red)}.hidden{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.foot{margin-top:1.5rem;font-size:.82rem}.foot a{color:var(--blue)}.hello-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.2rem;display:flex}.hello-sub{color:var(--muted);font-size:.9rem}.co-chip{background:var(--navy);color:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .9rem;font-size:.82rem;font-weight:650;display:inline-flex}.proj{border:1px solid var(--border);background:var(--paper);border-radius:12px;padding:1.05rem 1.15rem}.proj+.proj{margin-top:.7rem}.proj-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.proj-name{font-size:1rem;font-weight:750}.p-bar{background:var(--paper-2);border-radius:999px;height:8px;margin:.75rem 0 .45rem;overflow:hidden}.p-bar i{background:linear-gradient(90deg, var(--blue), #4f8dff);border-radius:999px;height:100%;display:block}.p-bar i.full{background:var(--green)}.proj-meta{color:var(--muted);flex-wrap:wrap;gap:1.4rem;font-size:.8rem;display:flex}.ck{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.8rem}.ck-head{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.ck-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.78rem;font-weight:650}.ck-num{font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:700}.ck-must{color:var(--amber);margin-top:.1rem;font-size:.8rem}.ck-must.ok{color:var(--green)}.ck-list{margin-top:.6rem}.ck-list>summary{cursor:pointer;color:var(--blue);font-size:.84rem;font-weight:600;list-style:none}.ck-list>summary::-webkit-details-marker{display:none}.ck-list>summary:before{content:"▸ "}.ck-list[open]>summary:before{content:"▾ "}.ck-note{color:var(--muted);margin:.5rem 0 .2rem;font-size:.78rem}.rq{border-bottom:1px solid var(--border);align-items:flex-start;gap:.55rem;padding:.45rem 0;display:flex}.rq:last-child{border-bottom:none}.rq .tick{text-align:center;width:1rem;color:var(--muted);flex:none}.rq.done .tick{color:var(--green)}.rq-body{min-width:0;font-size:.88rem}.rq-id{font-variant-numeric:tabular-nums;margin-right:.3rem;font-weight:700}.rq-desc{color:var(--muted);white-space:pre-line;margin-top:.15rem;font-size:.8rem;display:block}.chip.tiny{vertical-align:.08em;margin-left:.35rem;padding:.08rem .45rem;font-size:.65rem}.chip.must{color:var(--amber);background:#b453091f}.doc-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.9rem;padding:.7rem .2rem;display:flex}.doc-row:last-child{border-bottom:0}.doc-main{flex:1;min-width:0}.doc-title{font-size:.9rem;font-weight:650}.doc-sub{color:var(--muted);font-size:.78rem}.doc-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}#ao-overlay{z-index:50;background:#05092c73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}#ao-overlay.hidden{display:none}.ao-card{background:var(--paper);border-radius:14px;width:100%;max-width:440px;padding:1.4rem 1.5rem;box-shadow:0 18px 60px #05092c4d}.ao-check{text-transform:none;letter-spacing:0;cursor:pointer;align-items:flex-start;gap:.55rem;margin-top:.85rem;font-size:.88rem;font-weight:450;display:flex}.ao-check input{flex:none;width:auto;margin-top:.2rem}.report{border:1px solid var(--border);background:var(--paper);border-radius:12px;padding:1.1rem 1.2rem}.report+.report{margin-top:.7rem}.report .top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.report .score{color:var(--blue);font-size:1.6rem;font-weight:800}.stat{flex-wrap:wrap;gap:1.5rem;margin-top:.7rem;display:flex}.stat div .k{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem}.stat div .v{font-weight:700}.reco{border-left:3px solid var(--blue);background:#1e6bff0a;border-radius:0 10px 10px 0;padding:.9rem 1.1rem}.reco p{font-size:.92rem}.reco-ctas{flex-wrap:wrap;gap:.6rem;margin-top:.9rem;display:flex}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;margin-top:.5rem;display:grid}.action{text-align:left;background:var(--paper-2);border:1px solid var(--border);cursor:pointer;font:inherit;color:var(--navy);border-radius:10px;padding:.9rem 1rem;text-decoration:none;transition:border-color .15s;display:block}.action:hover{border-color:var(--blue)}.action.sel{border-color:var(--blue);box-shadow:0 0 0 2px #1e6bff1f}.action .at{font-weight:700;display:block}.action .ad{color:var(--muted);margin-top:.15rem;font-size:.85rem;display:block}#req-form{margin-top:1rem}.req-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.7rem;display:flex}.req-hist{border-top:1px solid var(--border);margin-top:1.1rem;padding-top:.8rem}.req-item{justify-content:space-between;align-items:baseline;gap:.8rem;padding:.35rem 0;font-size:.85rem;display:flex}@media (width<=560px){.wrap{padding:1.4rem .9rem 3rem}.card{border-radius:12px;padding:1.15rem 1rem}.proj,.report{padding:.95rem 1rem}h1{font-size:1.28rem}.topbar{flex-wrap:wrap;gap:.5rem}.top-right{min-width:0;max-width:100%}#who{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}#logout{white-space:nowrap;flex:none}.btn,.btn-ghost{min-height:42px}.btn-sm{min-height:36px}input,textarea{min-height:42px}h2{flex-wrap:wrap;gap:.2rem}.stat{gap:1rem}.actions-grid{grid-template-columns:1fr}.ao-card{padding:1.15rem 1rem}}
