@charset "UTF-8";:root{--primary-color: #4A90D9;--primary-hover: #3A7BC8;--primary-light: #EBF3FC;--primary-lightest: #F5F9FF;--primary-dark: #2C5F8A;--accent-color: #FF6B35;--accent-light: #FFF0EA;--background: #F8FAFB;--surface: #FFFFFF;--border: #E4E9EE;--border-light: #EEF2F6;--text-primary: #1E2D3D;--text-secondary: #5A6B7B;--text-muted: #94A3B3;--status-pending: #F5A623;--status-pending-bg: #FEF7E8;--status-done: #4CAF50;--status-done-bg: #EDF7ED;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-2xl: 28px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--shadow-sm: 0 1px 3px rgba(0,0,0,.05);--shadow-md: 0 4px 12px rgba(0,0,0,.07);--shadow-lg: 0 8px 24px rgba(0,0,0,.1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 999px;--transition-fast: .15s ease;--transition-base: .25s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);color:var(--text-primary);background:var(--background)}.modal-overlay{display:none;position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;align-items:center;justify-content:center}.modal-overlay.active{display:flex}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:480px;max-height:90vh;overflow-y:auto;animation:modalIn .25s ease}@keyframes modalIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-light)}.modal-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:8px;margin:0}.modal-header h2 .material-icons{color:var(--primary-color)}.modal-close{width:36px;height:36px;border-radius:var(--radius-full);border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--background);color:var(--text-primary)}.modal-body{padding:24px}.modal-body p{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:20px;line-height:1.6}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border-light)}.modal-btn{padding:10px 20px;border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all var(--transition-fast)}.modal-btn.cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.modal-btn.cancel:hover{background:var(--background)}.modal-btn.confirm{border:none;background:var(--primary-color);color:#fff}.modal-btn.confirm:hover{background:var(--primary-hover)}.modal-btn.confirm:disabled{opacity:.5;cursor:not-allowed}.modal-btn.confirm.accent{background:var(--accent-color)}.modal-btn.confirm.accent:hover{background:#e55a28}.modal-btn.danger{border:none;background:#e53935;color:#fff}.modal-btn.danger:hover{background:#c62828}.modal-btn.danger:disabled{opacity:.5;cursor:not-allowed}.modal-btn .material-icons{font-size:18px}.modal-success{text-align:center;padding:40px 24px}.modal-success .material-icons{font-size:56px;color:#4caf50;margin-bottom:16px}.modal-success h3{font-size:var(--font-size-lg);margin-bottom:8px}.modal-success p{color:var(--text-muted);margin-bottom:0}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:6px;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);outline:none;box-sizing:border-box;transition:border-color var(--transition-fast);background:var(--surface)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color)}.form-group input[readonly]{background:var(--background);color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:80px}.form-group .hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:4px}
