@tailwind base;@tailwind components;@tailwind utilities;:root{--primary: #2563eb;--bg-body: #f1f5f9;--bg-surface: #ffffff;--text-main: #0f172a;--text-sub: #64748b;--border: #e2e8f0;--danger: #ef4444;--warning: #f59e0b;--safe: #10b981;--sat-color: #3b82f6;--sun-color: #ef4444;--st-estimate: #f97316;--st-todo: #e11d48;--st-enter: #06b6d4;--st-doing: #2563eb;--st-finish: #10b981;--st-delivered: #8b5cf6;--st-report: #94a3b8;--st-lost: #64748b}body{font-family:Helvetica Neue,Arial,sans-serif;background-color:var(--bg-body);color:var(--text-main);margin:0;padding:0}.icon-gap{margin-right:6px}i[class^=fa]{font-size:1.1em}.btn-primary{background:var(--primary);color:#fff;border:none;padding:12px;border-radius:8px;font-weight:700;cursor:pointer;width:100%;font-size:15px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;justify-content:center}.btn-primary:disabled{background:#cbd5e1;cursor:not-allowed}.btn-danger{background:#fee2e2;color:var(--danger);border:1px solid #fca5a5;padding:12px;border-radius:8px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-outline{background:#fff;border:1px solid #cbd5e1;color:var(--text-sub);padding:12px;border-radius:8px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.input-field{width:100%;max-width:100%;padding:12px;margin-bottom:16px;border:1px solid var(--border);border-radius:6px;font-size:16px;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none}.fab-container{position:fixed;bottom:24px;right:24px;z-index:10;display:flex;flex-direction:column;align-items:center;gap:16px}.fab-btn{width:56px;height:56px;background:var(--text-main);color:#fff;border-radius:50%;border:none;font-size:24px;cursor:pointer;box-shadow:0 4px 12px #0000004d;display:flex;align-items:center;justify-content:center;transition:transform .1s}.fab-btn:active{transform:scale(.95)}.fab-sub-btn{width:48px;height:48px;background:white;color:var(--primary);border:1px solid var(--border);border-radius:50%;font-size:20px;cursor:pointer;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:center;transition:transform .1s}.fab-sub-btn:active{transform:scale(.95)}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%}.login-card{background:var(--bg-surface);padding:40px;border-radius:16px;width:90%;max-width:400px;text-align:center;box-shadow:0 4px 6px #0000000d}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:0 4px;width:100%}.app-title{font-size:20px;font-weight:800;color:var(--text-main);display:flex;align-items:center;flex-wrap:wrap;gap:8px}.header-date{font-size:14px;font-weight:400;color:var(--text-sub);margin-left:8px;background:#f1f5f9;padding:4px 8px;border-radius:6px}.tab-container{display:flex;gap:8px;margin-bottom:16px;padding:0 4px;width:100%}.tab-btn{flex:1;padding:10px;border:none;background:#e2e8f0;border-radius:8px;font-weight:700;color:#64748b;cursor:pointer;transition:all .2s;font-size:14px;display:flex;align-items:center;justify-content:center}.tab-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 4px #2563eb33}.tab-btn i{margin-right:8px}.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;padding-bottom:80px;width:100%}.deadline-card{background:var(--bg-surface);border-radius:10px;padding:0;box-shadow:0 2px 5px #0000000d;cursor:pointer;display:grid;grid-template-columns:100px 1fr;position:relative;overflow:hidden;border:1px solid var(--border);border-left-width:6px;width:100%}.deadline-card:active{transform:scale(.99)}.card-left{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px 4px;background-color:#f8fafc;border-right:1px solid var(--border);text-align:center;gap:12px}.days-num{font-size:28px;font-weight:900;line-height:1;margin-bottom:2px;color:var(--text-main)}.days-label{font-size:10px;color:var(--text-sub);font-weight:700}.due-date-area{font-size:10px;color:var(--text-sub);font-family:monospace;background:rgba(0,0,0,.05);padding:2px 6px;border-radius:4px;font-weight:700;white-space:nowrap}.sat-text{color:var(--sat-color)}.sun-text{color:var(--sun-color)}.card-right{padding:10px 12px;display:flex;flex-direction:column;justify-content:space-between;gap:6px;min-width:0}.card-row-1{display:flex;justify-content:space-between;align-items:center}.status-badge{font-size:11px;padding:4px 10px;border-radius:4px;font-weight:700;color:#fff;white-space:nowrap;display:inline-block}.msg-badge{font-size:11px;color:var(--text-sub);font-weight:700;display:flex;align-items:center;gap:4px}.msg-badge i{font-size:1em}.card-row-2{display:flex;align-items:center}.client-name{font-weight:700;font-size:15px;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-row-3{display:flex;align-items:center;font-size:11px;gap:8px}.task-number{font-family:monospace;color:var(--text-sub)}.card-row-4{font-size:11px;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#f8fafc;padding:2px 6px;border-radius:4px}.card-safe{border-left-color:var(--safe)}.card-safe .card-left{background-color:#f0fdf4;border-right-color:#bbf7d0}.card-safe .days-num{color:var(--safe)}.card-warning{border-left-color:var(--warning)}.card-warning .card-left{background-color:#fffbeb;border-right-color:#fde68a}.card-warning .days-num{color:var(--warning)}.card-danger{border-left-color:var(--danger)}.card-danger .card-left{background-color:#fef2f2;border-right-color:#fecaca}.card-danger .days-num{color:var(--danger)}.card-delivered{border-left-color:var(--st-delivered)}.card-delivered .card-left{background-color:#f1f5f9}.card-delivered .days-num{color:#cbd5e1}.card-delivered .client-name{color:#94a3b8}.bg-estimate{background-color:var(--st-estimate)}.bg-todo{background-color:var(--st-todo);color:#fff}.bg-enter{background-color:var(--st-enter);color:#fff}.bg-doing{background-color:var(--st-doing)}.bg-finish{background-color:var(--st-finish)}.bg-delivered{background-color:var(--st-delivered);color:#fff}.bg-report{background-color:var(--st-report);color:#fff}.bg-lost{background-color:var(--st-lost);color:#fff}.base-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;border:1px solid transparent}.base-badge i{font-size:1em}.base-normal{background:#e0e7ff;color:#3730a3;border-color:#c7d2fe}.base-other{background:#fff7ed;color:#c2410c;border-color:#fdba74}.detail-header{background:white;padding:16px;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px;width:100%}.detail-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}.detail-client{font-size:18px;font-weight:700;line-height:1.3}.detail-row{display:flex;justify-content:space-between;margin-bottom:8px;border-bottom:1px solid #f1f5f9;padding-bottom:8px;align-items:center}.detail-label{color:var(--text-sub);font-size:12px;display:flex;align-items:center;flex-shrink:0}.detail-label i{margin-right:6px;color:#94a3b8}.detail-val{font-weight:700;font-size:14px;text-align:right}.transfer-btn{background:#fff;border:1px solid #cbd5e1;color:var(--text-sub);padding:6px 12px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px}.transfer-btn.active{border-color:#f97316;color:#f97316;background:#fff7ed}.transfer-btn:disabled{background:#f1f5f9;color:#cbd5e1;border-color:#e2e8f0;cursor:not-allowed}.status-container{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;width:100%}.status-btn{padding:14px;border:2px solid var(--border);background:white;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%}.status-btn.disabled{background:#f1f5f9;color:#cbd5e1;border-color:#f1f5f9;pointer-events:none}.status-btn:after{content:"";font-family:"Font Awesome 6 Free";font-weight:400;color:#cbd5e1;font-size:18px}.status-btn.active:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;color:#fff}.status-btn.active.btn-estimate{background-color:var(--st-estimate);color:#fff;border-color:var(--st-estimate)}.status-btn.active.btn-todo{background-color:var(--st-todo);color:#fff;border-color:var(--st-todo)}.status-btn.active.btn-enter{background-color:var(--st-enter);color:#fff;border-color:var(--st-enter)}.status-btn.active.btn-doing{background-color:var(--st-doing);color:#fff;border-color:var(--st-doing)}.status-btn.active.btn-finish{background-color:var(--st-finish);color:#fff;border-color:var(--st-finish)}.status-btn.active.btn-delivered{background-color:var(--st-delivered);color:#fff;border-color:var(--st-delivered)}.status-btn.active.btn-report{background-color:var(--st-report);color:#fff;border-color:var(--st-report)}.status-btn.active.btn-lost{background-color:var(--st-lost);color:#fff;border-color:var(--st-lost)}.chat-section{background:#f1f5f9;border-radius:12px;padding:16px;margin-bottom:40px;width:100%}.chat-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:700;color:var(--text-main)}.chat-log{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;margin-bottom:12px}.chat-msg{background:white;padding:8px 12px;border-radius:8px;font-size:13px;box-shadow:0 1px 2px #0000000d}.chat-msg.system-log{background:#e0f2fe;color:#0369a1;border-left:3px solid #0284c7;font-size:11px}.chat-meta{font-size:10px;color:var(--text-sub);margin-bottom:2px;display:flex;justify-content:space-between}.chat-row{display:flex;gap:8px}.chat-input{flex-grow:1;padding:8px;border:1px solid #cbd5e1;border-radius:6px}.chat-send-btn{background:#0f172a;color:#fff;border:none;padding:0 12px;border-radius:6px;cursor:pointer;display:flex;align-items:center}.chat-send-btn:disabled{background:#94a3b8;cursor:not-allowed}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:100}.modal.active{display:flex}.modal-box{background:white;padding:24px;border-radius:16px;width:400px;max-width:90%;max-height:90vh;overflow-y:auto;box-sizing:border-box}.modal-title{margin-top:0;display:flex;align-items:center;gap:8px}
