:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}@media(prefers-color-scheme:dark){:root{color:#e0e0e0;background-color:#1a1a1a}}.app{max-width:1100px;margin:0 auto;padding:1.5rem;font-family:system-ui,-apple-system,sans-serif}.app-header{text-align:center;margin-bottom:2rem}.app-header h1{margin:0;font-size:1.8rem;color:#1a1a2e}.subtitle{margin:.25rem 0 0;color:#666;font-size:.9rem}.toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.item-count{margin-left:auto;color:#888;font-size:.85rem}.btn{border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s,opacity .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#0078d4;color:#fff}.btn-primary:hover:not(:disabled){background-color:#106ebe}.btn-secondary{background-color:#e1e1e1;color:#333}.btn-secondary:hover:not(:disabled){background-color:#d0d0d0}.btn-sm{padding:.3rem .6rem;font-size:.8rem}.btn-edit{background-color:#0078d4;color:#fff}.btn-edit:hover{background-color:#106ebe}.btn-delete{background-color:#d13438;color:#fff}.btn-delete:hover{background-color:#a4262c}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}thead{background-color:#fafafa}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid #e8e8e8}th{font-weight:600;color:#444}tr:hover{background-color:#f5f9ff}.td-title{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-desc{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#666}.td-actions{display:flex;gap:.4rem}.status-badge{display:inline-block;padding:.2rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.status-new{background-color:#e1f5fe;color:#0277bd}.status-progress{background-color:#fff3e0;color:#e65100}.status-completed{background-color:#e8f5e9;color:#2e7d32}.status-hold{background-color:#fce4ec;color:#c62828}.loading,.empty-state{text-align:center;padding:3rem 1rem;color:#888}.modal-overlay{position:fixed;inset:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:10px;padding:1.5rem;width:100%;max-width:500px;box-shadow:0 10px 40px #00000026}.modal h2{margin:0 0 1rem;font-size:1.2rem}.form-group{margin-bottom:.75rem}.form-group label{display:block;margin-bottom:.25rem;font-size:.85rem;font-weight:500;color:#444}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:6px;font-size:.875rem;box-sizing:border-box}.form-group textarea{resize:vertical}.form-row{display:flex;gap:.75rem}.form-row .form-group{flex:1}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.notification{position:fixed;top:1rem;right:1rem;padding:.75rem 1rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;font-size:.875rem;box-shadow:0 4px 12px #00000026;z-index:2000;animation:slide-in .3s ease-out}.notification-success{background-color:#e8f5e9;color:#2e7d32;border-left:4px solid #2e7d32}.notification-error{background-color:#fce4ec;color:#c62828;border-left:4px solid #c62828}.notification-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:inherit;padding:0;line-height:1}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(prefers-color-scheme:dark){.app-header h1{color:#e0e0e0}th{color:#bbb}thead{background-color:#2a2a2a}tr:hover{background-color:#333}td{border-bottom-color:#444}.td-desc{color:#aaa}.modal{background:#2a2a2a;color:#e0e0e0}.form-group input,.form-group textarea,.form-group select{background:#333;color:#e0e0e0;border-color:#555}.form-group label{color:#ccc}.btn-secondary{background-color:#444;color:#e0e0e0}.btn-secondary:hover:not(:disabled){background-color:#555}}
