:root{--blue:#356ea8;--nav:#20242f;--line:#e6e8ee;--muted:#7d8190}*{box-sizing:border-box}body{margin:0;background:#f7f8fa;color:#252735;font:14px Segoe UI,Arial,sans-serif;display:grid;grid-template-columns:220px 1fr;min-height:100vh}button,input,select,textarea{font:inherit}aside{background:var(--nav);color:white;height:100vh;position:sticky;top:0;padding:28px 17px}.brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:800}.brand>b{width:36px;height:36px;border-radius:9px;background:var(--blue);display:grid;place-items:center}.brand small{display:block;font-size:9px;color:#9ba4b3}.brand+nav{display:grid;gap:5px;margin-top:35px}nav a,nav button{border:0;background:transparent;color:#b9c0cc;text-decoration:none;text-align:left;padding:12px;border-radius:8px;cursor:pointer}nav a:hover,nav button:hover,nav button.active{background:#303744;color:white}main{padding:0 34px 50px}header{height:110px;border-bottom:1px solid var(--line);display:flex;align-items:center}header p,.modalHead small{font-size:9px;color:var(--blue);font-weight:800;letter-spacing:1px;margin:0 0 4px}header h1{margin:0 0 5px}.page{display:none}.page.active{display:block}.head{display:flex;justify-content:space-between;align-items:center;padding:27px 0 15px}.head h2,.head p{margin:0}.head p{font-size:11px;color:var(--muted);margin-top:4px}.primary{border:0;background:var(--blue);color:white;padding:10px 15px;border-radius:8px;font-weight:700;cursor:pointer}.table{background:white;border:1px solid var(--line);border-radius:11px;overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid #eff0f4;font-size:11px;vertical-align:top}th{font-size:9px;color:var(--muted);text-transform:uppercase;background:#fafbfc}td small{display:block;color:var(--muted);margin-top:4px}.pill{display:inline-block;font-size:8px;padding:4px 7px;border-radius:5px}.green{background:#e7f6ef;color:#258361}.gray{background:#eef0f3;color:#697080}.blue{background:#e9f1fa;color:#356ea8}.amber{background:#fff1d9;color:#a96b13}.red{background:#fbe8ea;color:#c14350}.edit,.cardTop button{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer;font-size:10px}.assignment{display:block;font-size:8px;margin-bottom:3px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cards article{background:white;border:1px solid var(--line);border-radius:11px;padding:16px}.cardTop,.meta{display:flex;justify-content:space-between;align-items:center}.cardTop>span{background:#eaf2fa;color:var(--blue);font-size:8px;font-weight:800;padding:5px;border-radius:5px}.cards h3{font-size:13px;margin:14px 0 6px}.cards p{font-size:10px;color:var(--muted);line-height:1.5;height:45px;overflow:hidden}.assigned{border-top:1px solid #eff0f4;margin-top:12px;padding-top:10px}.assigned span,.assigned i{display:block;font-size:8px;margin-top:4px;color:#656978}.assigned i{color:#aaa}#notice{position:fixed;z-index:5;top:18px;left:50%;padding:11px 16px;border-radius:8px;color:white}#notice.ok{background:#258361}#notice.error{background:#c14350}dialog{border:0;border-radius:12px;width:min(720px,calc(100% - 30px));max-height:90vh;overflow:auto;padding:0;box-shadow:0 24px 70px #1115}dialog::backdrop{background:#15172288}dialog form{padding:22px}.modalHead,.actions,.row{display:flex;justify-content:space-between;gap:13px}.modalHead h2{margin:0}.modalHead button{border:0;background:none;font-size:22px}.row>label{flex:1}.row.three>label{width:33%}label{display:grid;gap:5px;margin-top:14px;font-size:10px;font-weight:700}input,select,textarea{width:100%;border:1px solid #d7dae2;border-radius:7px;padding:9px;background:white}.inline{display:flex;align-items:center}.inline input{width:auto}.sub{font-size:11px;margin:20px 0 8px}.assignmentList{border:1px solid var(--line);border-radius:8px;max-height:210px;overflow:auto}.assignRow{display:grid;grid-template-columns:20px 1fr 180px 65px;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #eff0f4}.assignRow input{padding:6px}.assignRow b{font-size:10px}.actions{justify-content:flex-end;margin-top:20px}.actions>button:not(.primary){border:0;background:#eef0f3;padding:10px 14px;border-radius:8px}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){body{display:block}aside{height:auto;position:static;padding:14px}nav{display:flex!important;overflow:auto;margin-top:12px!important}main{padding:0 14px 30px}.cards{grid-template-columns:1fr}.row{display:block}.head{align-items:flex-start}.assignRow{grid-template-columns:20px 1fr}.assignRole,.allocation{grid-column:2}}
