:root{--ink:#07172c;--navy:#0c2545;--blue:#1764ad;--pale:#f4f7fa;--line:#dbe4eb;--green:#19805f;--gold:#a86f18;--red:#b3424c;--shadow:0 12px 34px rgba(10,31,54,.09)}*{box-sizing:border-box}body{margin:0;background:var(--pale);color:var(--ink);font:15px 'DM Sans',Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.grow{flex:1}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 clamp(20px,4vw,66px);gap:14px}.brand-logo{width:133px;height:52px;object-fit:contain;object-position:left center}.container{max-width:1500px;margin:auto;padding:36px clamp(20px,4vw,66px)}.hero{padding:22px 0 29px}.hero h1,.page-head h1{font:600 32px 'Playfair Display',serif;margin:7px 0}.hero p,.muted{color:#66768a;line-height:1.55}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--blue);font-weight:700}.btn{border:0;border-radius:9px;padding:10px 14px;background:var(--navy);color:#fff;font-weight:700}.btn:hover{background:#173c67}.btn-outline{background:#fff;color:var(--navy);border:1px solid #b8c9d8}.btn-danger{background:#fff0f1;color:var(--red);border:1px solid #edc7ca}.btn-small{padding:7px 10px;font-size:12px}.section-title{font:600 23px 'Playfair Display',serif;margin:25px 0 14px}.public-grid,.board,.flow-grid{display:grid;gap:17px}.public-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.board{grid-template-columns:repeat(3,minmax(250px,1fr))}.flow-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.project,.flow-group{background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px;box-shadow:0 2px 7px #0e2a4610}.public-card,.clickable{cursor:pointer}.project:hover,.clickable:hover{box-shadow:0 8px 18px #0e2a4614}.project-top,.project-stats,.page-head,.modal-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.project h3{font-size:16px;line-height:1.35;margin:0}.project p{font-size:13px;line-height:1.5;color:#738195;margin:10px 0}.project-stats{border-top:1px solid #edf1f4;padding-top:10px;color:#647486;font-size:12px}.progress{height:6px;background:#e4ebf0;border-radius:8px;overflow:hidden;margin:11px 0 5px}.progress i{display:block;height:100%;background:var(--green)}.score{font-weight:700;color:var(--gold);white-space:nowrap}.flow-group h3{font-size:14px;margin:0 0 13px;color:var(--navy)}.flow-item{border-top:1px solid #edf0f2;padding:12px 0;display:grid;gap:7px}.flow-item:first-of-type{border-top:0}.flow-item p{margin:0;font-size:13px;color:#6f7e8f}.status{font-size:11px;font-weight:700;width:max-content;border-radius:13px;padding:4px 8px;background:#edf0f2;color:#677688}.status.progress{background:#fff3dc;color:#926314}.status.done{background:#e7f6ef;color:#167451}.nav{display:flex;gap:5px;flex:1}.nav button{border:0;background:transparent;color:#637184;font-weight:700;padding:9px 11px;border-radius:8px}.nav button.active{background:#eaf1f7;color:var(--navy)}.page-head{margin-bottom:25px;align-items:flex-end}.group{background:#e9f0f5;border:1px solid #d7e2ea;border-radius:13px;padding:13px;min-height:230px}.group-head{display:flex;justify-content:space-between;align-items:center;margin:3px 3px 13px}.group h2{margin:0;font-size:14px}.count{font-size:12px;border-radius:13px;background:#d3dfe8;padding:3px 8px}.group .project{margin-bottom:9px}.modal-back{position:fixed;inset:0;background:#07172c88;z-index:5;display:grid;place-items:center;padding:17px}.modal{background:#fff;width:min(100%,1000px);max-height:91vh;overflow:auto;border-radius:15px;padding:26px;box-shadow:0 25px 55px #03112475}.modal h2{font:600 25px 'Playfair Display',serif;margin:0}.icon-btn{border:0;background:transparent;color:#637184;font-size:20px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:13px}label{display:grid;gap:6px;font-size:13px;font-weight:700;margin-top:13px}input,textarea,select{border:1px solid #cbd8e2;border-radius:8px;padding:10px 11px;color:var(--ink);background:#fff}textarea{min-height:80px;resize:vertical}.form-stack{display:grid;gap:11px;margin-top:18px}.form-stack label{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.separator{border:0;border-top:1px solid #e2e9ee;margin:25px 0}.compact-head{margin-bottom:9px}.compact-head h2{font-size:21px}.accordion{display:grid;gap:10px;margin-top:18px}.main-task{border:1px solid #dce5ed;border-radius:10px;background:#fff;overflow:hidden}.main-task>summary{background:#0c2545;color:#fff;padding:13px 15px;font-weight:800;display:flex;justify-content:space-between;cursor:pointer}.main-task>summary b{font-size:12px;font-weight:500;opacity:.85}.criterion-list{padding:10px;display:grid;gap:8px}.criterion{border:1px solid #e0e8ed;border-radius:8px;overflow:hidden}.criterion>summary{padding:11px 12px;background:#f5f8fa;color:#172f4b;display:flex;justify-content:space-between;gap:15px;cursor:pointer;font-weight:700}.criterion>summary b{font-size:12px;color:#926314;white-space:nowrap}.subtasks{display:grid;padding:7px}.subtask,.add-subtask{display:flex;justify-content:space-between;gap:15px;text-align:left;border:0;border-bottom:1px solid #edf1f4;padding:10px;background:#fff;color:var(--ink)}.subtask:last-child{border-bottom:0}.subtask.done{background:#eff9f4;color:#637484;text-decoration:line-through}.subtask strong{color:var(--gold);white-space:nowrap}.add-subtask{color:var(--blue);font-weight:700}.admin-tree .criterion>summary:hover{background:#ebf2f7}.task-add{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px}.user-list{width:100%;border-collapse:collapse}.user-list th,.user-list td{text-align:left;border-bottom:1px solid #e9eef2;padding:12px}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(125deg,#f9fafb,#e8f1f7)}.login-card{background:#fff;width:min(100%,430px);padding:42px;border-radius:18px;box-shadow:var(--shadow);border-top:4px solid var(--navy)}.login-card h1{font:600 28px 'Playfair Display',serif;margin:9px 0}.error{color:#b22f3b;font-size:13px}.toast{position:fixed;right:20px;bottom:20px;background:#0c2545;color:#fff;padding:12px 15px;border-radius:8px;z-index:10;box-shadow:var(--shadow)}@media(max-width:850px){.nav{display:none}.board{grid-template-columns:1fr}.page-head,.project-top,.project-stats,.criterion>summary{align-items:flex-start;flex-direction:column}.criterion>summary{display:flex}.container{padding-top:25px}.two-col,.task-add{grid-template-columns:1fr}.topbar{padding:0 20px}.modal{padding:19px}.main-task>summary{gap:8px;flex-direction:column}}
