:root{--navy:#10243f;--green:#16834f;--line:#dce4ee;--ink:#17253a;--muted:#66758a}*{box-sizing:border-box}body{color:var(--ink);background:#f1f5f9;margin:0;font:14px/1.55 Arial,sans-serif}.shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;height:100vh;padding:22px 16px;position:sticky;top:0;overflow:auto}.brand{font-size:19px;font-weight:800}.brand span{font-size:15px}.project{border:1px solid #40516a;border-radius:12px;margin:28px 0 18px;padding:15px;font-weight:700}.project small{color:#b9c9d8}nav{gap:7px;display:grid}nav a{color:#dbe5f1;cursor:pointer;border-radius:9px;padding:12px;font-size:12px;text-decoration:none}nav a.active{color:#fff;background:#176244}.main{min-width:0;min-height:100vh}header{border-bottom:1px solid var(--line);z-index:5;background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 25px;font-size:17px;display:flex;position:sticky;top:0}.role,.tag{letter-spacing:.05em;color:#176244;background:#e8f6ee;border-radius:20px;padding:6px 9px;font-size:10px;font-weight:800}.content{max-width:1500px;margin:auto;padding:24px 28px}.phase{align-items:center;gap:16px;margin-bottom:18px;display:flex}.phase>span{color:#116b3a;background:#dcf5e6;border-radius:12px;padding:13px;font-weight:800}.phase h1{margin:0;font-size:25px}.phase p{color:var(--muted);margin:4px 0}.editorgrid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.work-left,.work-right{min-width:0}.report{border:1px solid var(--line);background:#fff;border-radius:13px;margin-bottom:16px;padding:21px;box-shadow:0 2px 8px #10243f08}.report h2{margin:12px 0;font-size:18px}.report h3{margin:4px 0 14px;font-size:16px}.field-label{font-weight:600;display:block}.report input,.report select,.report textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #cbd5e1;border-radius:8px;margin:7px 0 14px;padding:11px;display:block}.rte-wrap{border:1px solid #cbd5e1;border-radius:9px;margin-top:12px;overflow:hidden}.rte-toolbar{border-bottom:1px solid var(--line);background:#f8fafc;flex-wrap:wrap;align-items:center;gap:5px;padding:8px;display:flex}.rte-toolbar button,.rte-toolbar select{color:#26364b;cursor:pointer;background:#fff;border:1px solid #d7dee8;border-radius:6px;width:auto;margin:0;padding:7px 10px;font-size:12px}.rte-toolbar span{flex:1}.rte-editor{overflow-wrap:anywhere;outline:none;min-height:390px;padding:18px;line-height:1.7}.rte-editor:focus{box-shadow:inset 0 0 0 1px #b5d8c5}.report button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;margin:5px 7px 5px 0;padding:10px 15px;font-weight:700}.report button.primary{background:var(--green);color:#fff;border-color:var(--green)}.actions{justify-content:flex-end;gap:8px;margin:12px 0 0;display:flex}.actions button{margin:0}.internal-card{border-color:#e4d9c6}.internal-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.internal-heading h3{margin:0}.internal-heading span{color:#98733c;font-size:10px;font-weight:700}.lock-label{white-space:nowrap;background:#fff7e8;border-radius:20px;padding:6px 9px}.internal-card textarea{resize:vertical;min-height:110px}.saved-label{color:#176244;font-size:11px}.phaseitem{border-bottom:1px solid #edf1f5;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px 0;font-size:12px;display:grid}.phaseitem small{color:var(--muted);text-align:right;font-size:10px}.dot{background:#d7dee7;border-radius:50%;width:9px;height:9px}.active-dot{background:#c3943e;box-shadow:0 0 0 4px #f8f0df}.hint{color:var(--muted);margin:12px 0 0;font-size:12px}.uploadbox{text-align:center;color:#176244;cursor:pointer;border:1px dashed #9aabba;border-radius:10px;margin:12px 0;padding:17px;font-weight:700;display:block}.uploadbox input{width:100%;margin-top:9px;font-size:11px;display:block}.attachmentlist{gap:8px;margin-top:12px;display:grid}.attachmentitem,.client-file{text-align:left;background:#f8fafc;border:1px solid #edf1f5;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px;display:flex}.attachmentitem img{object-fit:cover;border-radius:6px;width:48px;height:48px}.attachmentitem>span:last-child,.client-file>span:last-child{min-width:0;display:grid}.attachmentitem b,.client-file b{overflow-wrap:anywhere;font-size:11px}.attachmentitem small,.client-file small{color:var(--muted);font-size:10px}.thumb{color:#176244;background:#e8f6ee;border-radius:7px;flex:0 0 42px;place-items:center;height:44px;font-size:10px;font-weight:800;display:grid}.notice{color:#176244;background:#eaf5ee;border-radius:8px;margin-bottom:12px;padding:11px 14px;font-size:12px}.signout{color:#dbe5f1;background:0 0;border:1px solid #52677d;border-radius:7px;margin-top:26px;padding:8px 14px}.authpage{place-items:center;min-height:100vh;padding:20px;display:grid}.client-preview{background:#f1f5f8;min-height:calc(100vh - 64px)}.client-top{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:54px;padding:0 28px;font-size:12px;display:flex}.client-content{max-width:1200px;margin:auto;padding:28px}.client-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.client-heading small{color:#267c56;letter-spacing:.08em;font-weight:800}.client-heading h1{margin:5px 0;font-size:25px}.client-heading p{color:var(--muted);margin:0}.waiting{color:#946d28;white-space:nowrap;background:#fff3dc;border-radius:30px;padding:8px 13px;font-size:11px;font-weight:700}.client-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.client-phase{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:16px;display:flex}.client-phase>b{color:#176244;background:#e8f6ee;border-radius:10px;place-items:center;width:42px;height:42px;display:grid}.client-phase div{display:grid}.client-phase small{color:var(--muted);font-size:11px}.report-origin{color:#176244;background:#e8f6ee;border-radius:5px;margin:18px 0 8px;padding:8px 10px;font-size:9px;font-weight:800;display:inline-block}.client-report h2{margin:8px 0}.rendered-report{overflow-wrap:anywhere;line-height:1.75}.rendered-report h3{margin-top:18px}.rendered-report p{margin:8px 0}.back-edit{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;margin:0 28px 30px;padding:10px 14px}@media (max-width:850px){.shell{grid-template-columns:1fr}.sidebar{height:auto;max-height:none;padding:14px;position:relative}.sidebar nav{grid-template-columns:1fr 1fr;gap:4px}.sidebar nav a{padding:9px;font-size:11px}.project{margin:12px 0}.signout{margin-top:10px}.content{padding:16px 12px}.editorgrid,.client-grid{grid-template-columns:1fr}.work-right{grid-template-columns:1fr 1fr;gap:10px;display:grid}.work-right .report{margin-bottom:0;padding:14px}.phase h1,.client-heading h1{font-size:20px}.rte-editor{min-height:340px}.client-content{padding:16px 12px}.client-heading{flex-direction:column;align-items:flex-start}.client-top{padding:0 14px}}@media (max-width:480px){.work-right{grid-template-columns:1fr}.rte-toolbar{gap:4px}.rte-toolbar button,.rte-toolbar select{padding:6px 8px}.report{padding:16px}.role{font-size:8px}.client-top{font-size:10px}}
