:root{font-family:Inter,system-ui,Arial;color:#17332d;background:#f4f7f5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:10px 14px}button.primary{background:#167b57;color:#fff}button.soft{background:#e5f2eb;color:#176348}button:disabled{opacity:.5;cursor:not-allowed}.layout{display:flex;min-height:100vh}aside{width:245px;background:#103c30;color:#fff;padding:25px 16px;flex-shrink:0}aside h2{font-size:22px;margin:0 8px 4px}aside small{display:block;margin:0 8px 28px;color:#a9d6c1}nav button{width:100%;display:block;text-align:left;background:transparent;color:#d1e7db;margin:5px 0}nav button.active,nav button:hover{background:#23654d;color:#fff}main{flex:1;min-width:0;padding:25px 32px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.top h1{font-size:25px}.cards{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:15px;margin-bottom:22px}.cards section,.panel,.login{background:#fff;border:1px solid #dce9df;border-radius:14px;padding:20px;margin:12px 0}.cards h2{font-size:30px;margin:10px 0}.muted{color:#6e8279;font-size:13px}.toolbar,.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}input,select,textarea{padding:10px;border:1px solid #cbdcd1;border-radius:8px;max-width:100%}textarea{width:100%;min-height:100px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff}th,td{text-align:left;padding:13px;border-bottom:1px solid #e5eee8;vertical-align:top}th{font-size:12px;color:#62776c}.badge{display:inline-block;background:#e7f2ec;border-radius:12px;padding:5px 9px;font-size:12px}.notice{background:#e8f3ec;padding:15px;border-radius:10px;margin:12px 0}.login{max-width:450px;margin:12vh auto}.login input,.login button{display:block;width:100%;margin:10px 0}.framework-grid,.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.framework-grid .panel{min-height:120px}.kanban .panel{background:#edf4ef}.taskcard{background:#fff;padding:12px;border-radius:9px;margin:10px 0}.overlay{position:fixed;inset:0;background:#0008;display:flex;align-items:center;justify-content:center;padding:15px}.dialog{background:#fff;border-radius:14px;padding:24px;max-width:540px;width:100%;max-height:90vh;overflow:auto}.dialog label{display:block;margin:12px 0 5px}.dialog input,.dialog select{width:100%}.hidden{display:none}@media(max-width:800px){.layout{display:block}aside{width:100%}main{padding:16px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){aside{padding:12px}aside h2,aside small{display:inline-block;margin:4px 8px}aside p{margin:8px}nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:4px 0}nav button{width:auto;flex:0 0 auto;white-space:nowrap;padding:10px}main{padding:12px}.top h1{font-size:21px}.cards{gap:8px}.cards section,.panel{padding:13px;margin:8px 0}.cards h2{font-size:24px}.toolbar input,.toolbar select{max-width:100%;flex:1 1 130px}.dialog{padding:17px}}@media(max-width:390px){.cards{grid-template-columns:1fr 1fr}.cards section{padding:10px}.cards h2{font-size:22px}}
