:root{color:#13220f;--green:#0f3b1b;--gold:#b38b2d;--light:#fff;--muted:#eef1e8;--danger-bg:#ffe7e7;--danger-border:#e8b3b3;--danger-text:#7d2323;--success-bg:#e7f7eb;--success-border:#b8e2c2;--success-text:#1f6b35;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);background:#f5f6f0;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{background:var(--green);color:#fff;cursor:pointer;transition:transform .16s var(--ease-out-quart), box-shadow .2s ease, background-color .2s ease;border:0;border-radius:10px;padding:10px 14px}button:disabled{opacity:.7;cursor:not-allowed}button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 18px #102c1629}button.secondary{color:#1f3120;background:#dde5d3}input,select,textarea{background:#fff;border:1px solid #d6dccf;border-radius:10px;width:100%;padding:12px}textarea{min-height:100px}.login-page{background:linear-gradient(135deg,#f7f8f2,#e9ede2) 0 0/180% 180%;place-items:center;min-height:100vh;animation:12s ease-in-out infinite gradientShift;display:grid}.login-card,.card{background:#fff;border-radius:18px;box-shadow:0 10px 30px #0f3b1b14}.login-card{width:420px;max-width:calc(100vw - 24px);animation:floatIn .45s var(--ease-out-quart) both;gap:14px;padding:28px;display:grid}.login-logo,.sidebar-logo{max-width:220px}.hint{color:#6e7566;font-size:14px}.error-text{color:var(--danger-text);font-size:14px}.layout{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#102c16;flex-direction:column;gap:18px;padding:24px;display:flex}.sidebar h2{margin:0;font-size:20px}.sidebar nav{gap:10px;display:grid}.sidebar .nav-btn{text-align:left;transform-origin:0;background:#ffffff14;border:1px solid #0000}.sidebar .nav-btn.active{background:#fff3;border-color:#ffffff4d;transform:translate(4px)}.user-box{background:#ffffff14;border-radius:12px;gap:10px;margin-top:auto;padding:12px;display:grid}.outline-btn{background:0 0;border:1px solid #ffffff59}.logout-btn{color:#102c16;background:#b38b2d;font-weight:700}.content{padding:28px}.content>section{animation:sectionIn .32s var(--ease-out-quart) both}.error-banner{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);border-radius:10px;margin-bottom:16px;padding:10px 12px}.success-banner{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text);border-radius:10px;margin-bottom:16px;padding:10px 12px}.section-header,.stats-grid,.kanban,.form-grid{gap:16px;display:grid}.section-header{grid-template-columns:1fr auto;align-items:center}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.stats-grid{grid-template-columns:repeat(3,1fr);margin-bottom:20px}.stat{padding:20px}.stat span{color:#6e7566;display:block}.stat strong{color:var(--green);font-size:36px}.card{transition:box-shadow .22s ease, transform .22s var(--ease-out-quart);padding:20px}.card:hover{transform:translateY(-2px);box-shadow:0 14px 30px #0f3b1b1f}.modal-backdrop{z-index:1000;background:#102c1673;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{width:min(900px,100%);max-height:calc(100vh - 40px);overflow:auto}.modal-card h3{margin-top:0}.activity-list{margin:0;padding-left:18px}.activity-list li{padding:4px 0}.table{overflow-x:auto}.table-tools{margin-bottom:14px}.table table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf0e7;padding:12px 8px}.table tbody tr{animation:rowIn .28s var(--ease-out-quart) both}.table tbody tr:nth-child(2){animation-delay:40ms}.table tbody tr:nth-child(3){animation-delay:80ms}.table tbody tr:nth-child(4){animation-delay:.12s}.table tbody tr:nth-child(5){animation-delay:.16s}.table tbody tr:nth-child(6){animation-delay:.2s}.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid.compact{grid-template-columns:repeat(2,minmax(180px,1fr))}.form-grid textarea{grid-column:1/-1}.actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.data-tools{margin-top:18px}.data-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px;display:grid}.data-panel{background:#fbfcf8;border:1px solid #ebefe5;border-radius:12px;padding:14px}.data-panel h4{margin:0 0 10px}.checkbox-row{color:#2d3a2d;align-items:center;gap:8px;margin-top:10px;display:flex}.checkbox-row input[type=checkbox]{width:auto}.import-note{color:#5a6757;margin:10px 0 0;font-size:13px}.stats-grid .card,.kanban-card{animation:itemIn .34s var(--ease-out-quart) both}.stats-grid .card:nth-child(2){animation-delay:40ms}.stats-grid .card:nth-child(3){animation-delay:80ms}.kanban{grid-template-columns:repeat(4,1fr);align-items:start}.kanban-col{background:#fbfcf8;min-height:280px}.kanban-card{transition:transform .18s var(--ease-out-quart), border-color .18s ease, box-shadow .2s ease;background:#fff;border:1px solid #ebefe5;border-radius:12px;gap:8px;margin-top:12px;padding:12px;display:grid}.kanban-card p{margin:0}.kanban-card:hover{border-color:#ceddc6;transform:translateY(-2px);box-shadow:0 8px 18px #0f3b1b1f}.app-fade-enter-active,.app-fade-leave-active{transition:opacity .22s ease, transform .22s var(--ease-out-quart)}.app-fade-enter-from,.app-fade-leave-to{opacity:0;transform:translateY(6px)}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes floatIn{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sectionIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes itemIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes rowIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@media (width<=1100px){.kanban,.data-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=960px){.layout,.stats-grid,.kanban,.form-grid,.form-grid.compact,.data-grid{grid-template-columns:1fr}.sidebar,.content{padding:18px}}
