:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182230;background:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;--navy:#172b4d;--blue:#2864dc;--line:#e5e9f0;--muted:#738096;--surface:#fff;--shadow:0 10px 30px rgba(22,38,65,.08)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app-shell{min-height:100vh;display:flex}.sidebar{width:248px;background:#fff;border-right:1px solid var(--line);padding:24px 16px 16px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 32px}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--blue);color:white;display:grid;place-items:center;font-size:21px;font-weight:800}.brand strong,.brand small,.user-meta strong,.user-meta small{display:block}.brand strong{font-size:15px}.brand small,.user-meta small{font-size:11px;color:var(--muted);margin-top:3px}.main-nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;text-align:left;padding:12px 13px;border-radius:9px;color:#566276;font-size:13px;display:flex;align-items:center;gap:12px}.nav-item span{font-size:17px;width:18px;text-align:center}.nav-item:hover,.nav-item.active{background:#edf3ff;color:#1f59c7}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:18px 8px 0}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e6edfb;color:#2759b7;font-weight:700;font-size:12px}.user-meta{min-width:0;flex:1}.user-meta strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout{border:0;background:none;color:#778398;font-size:12px;padding:12px 0 0}.main-area{min-width:0;flex:1}.topbar{height:94px;background:#fff;border-bottom:1px solid var(--line);padding:18px 30px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:10px;letter-spacing:1.1px;color:#8994a6;font-weight:700;margin:0 0 7px}.topbar h1{font-size:23px;margin:0;font-weight:700;letter-spacing:-.4px}.top-actions{display:flex;align-items:center;gap:20px}.connection{font-size:11px;color:#6e7c90}.connection i{display:inline-block;width:7px;height:7px;background:#27ae76;border-radius:50%;margin-right:7px}.primary,.secondary,.danger{border:0;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:650}.primary{background:var(--blue);color:#fff}.primary:hover{background:#1e53c2}.secondary{background:#edf1f6;color:#40516a}.danger{background:#fff0ef;color:#c13f3a}.view-content{padding:24px 30px 40px;max-width:1800px;margin:auto}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.search{min-width:230px;flex:1;max-width:390px}.field,.search input,.toolbar select,.form-control{width:100%;border:1px solid #dce2eb;background:#fff;border-radius:8px;padding:10px 11px;color:#253247;font-size:12px;outline:none}.field:focus,.search input:focus,.form-control:focus{border-color:#7da2ef;box-shadow:0 0 0 3px #eaf0ff}.toolbar select{width:auto;min-width:150px}.search input{padding:10px 12px}.board-meta{display:flex;align-items:center;justify-content:space-between;margin:2px 0 14px;color:var(--muted);font-size:11px}.board{display:grid;grid-auto-columns:minmax(245px,1fr);grid-auto-flow:column;gap:13px;overflow-x:auto;padding:1px 1px 16px;align-items:start}.lane{background:#edf0f5;border-radius:11px;padding:11px;min-height:260px}.lane-head{display:flex;align-items:center;justify-content:space-between;padding:3px 3px 12px}.lane-title{font-size:12px;font-weight:750;color:#39475b}.count{background:#dce2eb;color:#68758a;border-radius:20px;padding:3px 8px;font-size:10px}.lane-cards{display:grid;gap:9px}.task-card{background:#fff;border:1px solid #e7ebf1;border-radius:9px;padding:12px;box-shadow:0 2px 4px rgba(20,35,60,.025);cursor:pointer}.task-card:hover{border-color:#a9bff0;box-shadow:var(--shadow);transform:translateY(-1px)}.task-title{font-size:12px;font-weight:700;line-height:1.45;margin:0 0 8px;color:#26354a}.task-description{font-size:11px;color:#758197;line-height:1.45;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chips{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}.chip{font-size:9px;padding:4px 7px;border-radius:20px;background:#f0f3f8;color:#647187}.priority-high,.priority-urgent{background:#fff0ed;color:#bd5148}.priority-low{background:#eef7f1;color:#3c8860}.task-foot{border-top:1px solid #f0f2f6;padding-top:8px;display:flex;justify-content:space-between;gap:8px;align-items:center;color:#8590a1;font-size:10px}.overdue{color:#c44943;font-weight:700}.empty{padding:22px 10px;text-align:center;color:#8994a6;font-size:11px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px}.task-table{width:100%;border-collapse:collapse;min-width:700px}.task-table th,.task-table td{text-align:left;padding:13px 15px;border-bottom:1px solid #edf0f4;font-size:11px}.task-table th{font-size:10px;color:#8994a6;font-weight:700;background:#fafbfd}.task-table tr:last-child td{border-bottom:0}.task-table tbody tr{cursor:pointer}.task-table tbody tr:hover{background:#f8faff}.status{display:inline-block;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:700;background:#eef1f6;color:#5f6c80;white-space:nowrap}.status-in_progress{background:#eaf1ff;color:#3165c5}.status-completed{background:#e8f6ee;color:#34845a}.status-not_completed{background:#fff0ed;color:#b84e45}.status-under_review{background:#f1edff;color:#7358b5}.status-returned{background:#fff5df;color:#a77a25}.status-new{background:#edf1f6;color:#68758a}.group-section{margin:0 0 22px}.group-section h3{font-size:13px;margin:0 0 10px}.group-section .board{margin-bottom:8px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(140deg,#edf2fa,#f8fafc)}.login-card{width:min(390px,100%);background:#fff;padding:34px;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.login-card h1{margin:0 0 7px;font-size:25px}.muted{color:var(--muted);font-size:12px;margin:0 0 24px}.login-card label,.form-grid label{display:grid;gap:7px;font-size:11px;color:#5e6b80;font-weight:650;margin:14px 0}.login-card input,.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid #dce2eb;border-radius:8px;padding:11px;font-size:12px;outline:none}.full{width:100%;margin-top:12px}.error{color:#bd4943;font-size:11px;min-height:16px}.modal-backdrop{position:fixed;inset:0;background:rgba(17,29,49,.42);z-index:10;display:grid;place-items:center;padding:18px}.modal{background:#fff;width:min(760px,100%);max-height:92vh;overflow:auto;border-radius:14px;box-shadow:0 24px 70px rgba(10,20,40,.25)}.modal-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.modal-head h2{font-size:18px;margin:0}.modal-body{padding:20px 22px}.close{border:0;background:#f0f2f6;border-radius:7px;width:30px;height:30px;font-size:18px;color:#66748a}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid .wide{grid-column:1/-1}.form-grid textarea{min-height:100px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.multi-select{min-height:92px}.detail-title{font-size:19px;margin:0 0 10px}.detail-sub{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:16px 0}.tab{border:0;background:none;padding:10px 12px;color:#758197;font-size:11px;border-bottom:2px solid transparent}.tab.active{color:#245bc5;border-color:#2864dc;font-weight:700}.tab-panel{font-size:12px;line-height:1.6;color:#46546a;min-height:80px}.comment{padding:12px 0;border-bottom:1px solid #edf0f4}.comment strong{font-size:11px;color:#34445a}.comment time,.history-item time{display:block;color:#929bad;font-size:9px;margin:3px 0 6px}.comment p{margin:0;white-space:pre-wrap}.comment-form{display:flex;gap:8px;margin-top:12px}.comment-form textarea{flex:1;min-height:60px;border:1px solid var(--line);border-radius:8px;padding:9px;font-size:11px}.history-item{border-left:2px solid #dce5f6;padding:0 0 14px 12px;margin-left:4px}.history-item strong{font-size:11px}.executor-list{display:flex;gap:6px;flex-wrap:wrap}.executor-pill{display:inline-flex;align-items:center;gap:6px;background:#f0f3f8;border-radius:20px;padding:5px 8px;font-size:10px}.executor-pill button{border:0;background:none;color:#a24a44;padding:0;font-weight:700}.toast-root{position:fixed;right:18px;bottom:18px;z-index:30;display:grid;gap:8px}.toast{background:#1f2d43;color:#fff;padding:11px 15px;border-radius:8px;font-size:11px;box-shadow:var(--shadow);max-width:320px}.toast.error-toast{background:#9f3834}.empty-state{background:#fff;border:1px dashed #d9e0eb;border-radius:12px;padding:36px;text-align:center;color:#778499;font-size:12px}.notice{background:#f5f7fb;border-radius:8px;padding:12px;color:#778499;font-size:11px;line-height:1.5}@media(max-width:850px){.sidebar{width:68px;padding:18px 8px}.brand{padding:0 6px 25px}.brand>div:last-child,.nav-item:not(span),.user-meta,.logout{font-size:0}.brand-mark{width:40px;height:40px}.nav-item{justify-content:center;padding:12px 4px;font-size:0}.nav-item span{font-size:18px}.sidebar-bottom{padding:15px 0 0}.user-chip{justify-content:center}.topbar{padding:15px 18px}.view-content{padding:18px}.connection{display:none}}@media(max-width:560px){.topbar{height:80px}.topbar h1{font-size:19px}.top-actions .primary{font-size:0;padding:10px 12px}.top-actions .primary::after{content:'＋';font-size:17px}.view-content{padding:14px 12px}.board{grid-auto-columns:minmax(250px,86vw)}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modal-backdrop{padding:8px}.modal{max-height:96vh}.modal-head,.modal-body{padding:16px}.toolbar select{min-width:120px}.search{min-width:100%;max-width:none}}
