:root{--primary:#2563eb;--primary-light:#eff6ff;--secondary:#64748b;--bg-color:#f8fafc;--sidebar-bg:#fff;--text-dark:#0f172a;--text-muted:#64748b;--border-color:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--font-family:"Inter", sans-serif;--radius:8px;--status-pending:#eab308;--status-approved:#10b981;--status-rejected:#ef4444;--status-draft:#000;--status-sent-back:#f97316;--status-for-approval:#2563eb}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--bg-color);color:var(--text-dark);height:100vh;overflow:auto}#app{width:100vw;height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border-color);flex-direction:column;width:250px;transition:all .3s;display:flex}.sidebar-header{border-bottom:1px solid #0000;align-items:center;height:64px;padding:0 24px;display:flex}.logo{color:var(--primary);font-size:1.25rem;font-weight:700}.sidebar-nav{flex:1;padding:24px 16px}.nav-section-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;padding:0 12px;font-size:.75rem;font-weight:700}.nav-btn{text-align:left;width:100%;font-family:var(--font-family);color:#334155;border-radius:var(--radius);cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;margin-bottom:4px;padding:12px;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.nav-btn svg{stroke:#64748b;width:18px;height:18px;transition:all .2s}.nav-btn:hover{background:var(--bg-color)}.nav-btn.active{background:var(--primary-light);color:var(--primary);font-weight:600;position:relative}.nav-btn.active svg{stroke:var(--primary)}.nav-btn.active:before{content:"";background:var(--primary);border-radius:0 4px 4px 0;width:4px;height:70%;position:absolute;top:15%;left:-16px}.sidebar-user{border-top:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 24px;display:flex}.logout-container{width:100%;margin-bottom:12px}.logout-btn{border-radius:var(--radius);color:#ef4444;cursor:pointer;background:#fef2f2;border:1px solid #fee2e2;justify-content:center;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.logout-btn:hover{background:#fee2e2;border-color:#fca5a5}.logout-btn svg{width:14px;height:14px}.user-avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;font-weight:600;display:flex}.user-info{flex-direction:column;display:flex}.user-name{color:#1e293b;font-size:.875rem;font-weight:600}.user-role{color:var(--text-muted);font-size:.75rem}.user-select{border:1px solid var(--border-color);background:var(--bg-color);font-size:.75rem;font-family:var(--font-family);cursor:pointer;border-radius:4px;outline:none;padding:4px 8px}.user-select:hover{border-color:var(--primary)}.user-switcher-container{background:var(--bg-color);cursor:pointer;border:1px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:auto;transition:all .2s;display:flex;position:relative}.user-switcher-container:hover{background:var(--primary-light);border-color:var(--primary)}.switcher-icon{width:18px;height:18px;stroke:var(--secondary);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s}.user-switcher-container:hover .switcher-icon{stroke:var(--primary)}.user-select-hidden{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.main-content{background:#f8fafc;flex:1;padding:32px 48px;overflow-y:auto}.view-title{color:#0f172a;margin-bottom:24px;font-size:1.5rem;font-weight:600}.dashboard-grid{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(auto,280px);gap:24px;display:grid}.dashboard-card{border-radius:var(--radius);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;height:100%;display:flex}.card-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-title{color:#1e293b;font-size:1rem;font-weight:600}.icon-down{width:16px;height:16px;stroke:var(--text-muted);fill:none;stroke-width:2px}.card-body{flex-direction:column;flex-grow:1;padding:0;display:flex;overflow-y:auto}.card-body::-webkit-scrollbar{width:6px}.card-body::-webkit-scrollbar-track{background:0 0}.card-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.card-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.request-item{border-bottom:1px solid var(--border-color);cursor:pointer;align-items:flex-start;gap:16px;padding:16px 20px;transition:background .2s;display:flex}.request-item:last-child{border-bottom:none}.request-item:hover{background:#f8fafc}.request-status-bar{border-radius:4px;flex-shrink:0;width:4px;height:40px;margin-top:2px}.request-status-bar.status-for-approval{background:var(--status-for-approval)}.request-status-bar.status-in-progress{background:var(--status-pending)}.request-status-bar.status-sent-back{background:var(--status-sent-back)}.request-status-bar.status-approved{background:var(--status-approved)}.request-status-bar.status-rejected{background:var(--status-rejected)}.request-status-bar.status-draft{background:var(--status-draft)}.request-status-bar.status-reference,.request-status-bar.status-cancelled{background:#94a3b8}.status-text.status-in-progress{color:var(--status-pending);font-weight:500}.status-text.status-sent-back{color:var(--status-sent-back);font-weight:500}.status-text.status-approved{color:var(--status-approved);font-weight:500}.status-text.status-draft{color:var(--status-draft);font-weight:500}.status-text.status-for-approval{color:var(--status-for-approval);font-weight:500}.status-text.status-rejected{color:var(--status-rejected);font-weight:500}.request-content{flex:1}.request-item-title{color:#1e293b;margin-bottom:4px;font-size:.875rem;font-weight:600}.request-item-desc{color:var(--text-muted);font-size:.75rem;line-height:1.4}.request-time{color:#94a3b8;white-space:nowrap;font-size:.75rem}.empty-state{text-align:center;color:#94a3b8;padding:32px;font-size:.875rem}.form-container{border-radius:var(--radius);border:1px solid var(--border-color);background:#fff;padding:32px}.form-row{gap:24px;margin-bottom:24px;display:flex}.form-group{flex-direction:column;flex:1;margin-bottom:20px;display:flex}.form-group label{color:#334155;margin-bottom:8px;font-size:.875rem;font-weight:500;display:block}.sr-only{display:none!important}.input-field{border:1px solid var(--border-color);font-family:var(--font-family);background:#f8fafc;border-radius:6px;outline:none;width:100%;padding:10px 12px;font-size:.875rem;transition:border-color .2s}.input-field:focus{border-color:var(--primary);background:#fff}.input-field:disabled{color:var(--text-muted);background:#f1f5f9}.border-bottom-only{border:none;border-bottom:1px solid var(--primary);background:0 0;border-radius:0;padding:8px 0;font-size:1rem}.border-bottom-only:focus{box-shadow:none;border-color:var(--primary)}.full-width{width:100%}.split-form{align-items:flex-start}.main-col{flex:2}.side-col{flex:1}.rich-text-editor{border:1px solid var(--border-color);background:#f8fafc;border-radius:6px;overflow:hidden}.editor-header{color:var(--text-muted);border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:.875rem;font-weight:500}.textarea-field{resize:vertical;background:#f8fafc;border:none;border-radius:0}.textarea-field:focus{box-shadow:none;background:#fff}.styled-box{border:1px solid var(--border-color);border-radius:6px;padding:16px}.styled-box label{color:#0f172a;margin-bottom:12px;font-weight:600}.min-border{background:0 0;border:none;padding:0}.min-border:focus{background:0 0}.btn-link{color:var(--primary);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:8px;padding:0;font-size:.875rem;font-weight:500}.form-actions{justify-content:flex-end;margin-top:32px;display:flex}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;font-weight:500;font-family:var(--font-family);border:none;padding:10px 48px;transition:background .2s}.btn-primary:hover{background:#1d4ed8}.btn-secondary{color:#475569;border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;font-weight:500;font-family:var(--font-family);background:#fff;padding:10px 24px;transition:all .2s}.btn-secondary:hover{color:#1e293b;background:#f1f5f9}.list-container{border-radius:var(--radius);border:1px solid var(--border-color);background:#fff;overflow:hidden}.list-item{border-bottom:1px solid var(--border-color);cursor:pointer;justify-content:space-between;align-items:center;padding:16px 24px;transition:background .2s;display:flex}.list-item:hover{background:#f8fafc}.list-item:last-child{border-bottom:none}.item-title{color:#1e293b;margin-bottom:8px;font-weight:500}.item-meta{color:var(--text-muted);align-items:center;gap:12px;font-size:.75rem;display:flex}.status-badge{border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.item-time{color:var(--text-muted);font-size:.875rem}.status-badge.status-approved{color:var(--status-approved);background:#d1fae5}.status-badge.status-in-progress{color:#a16207;background:#fef08a}.status-badge.status-sent-back{color:#c2410c;background:#ffedd5}.status-badge.status-draft{color:var(--status-draft);background:#f1f5f9}.status-badge.status-rejected{color:var(--status-rejected);background:#fee2e2}.status-badge.status-cancelled{color:#94a3b8;background:#f1f5f9}.creative-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.creative-card{border-radius:var(--radius);border:1px solid var(--border-color);cursor:pointer;background:#fff;transition:transform .2s;overflow:hidden}.creative-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.creative-image-placeholder{background:#f8fafc;justify-content:center;align-items:center;height:180px;display:flex}.image-icon{stroke:#cbd5e1;stroke-width:1.5px;width:48px;height:48px}.creative-info{padding:16px}.creative-title{color:#1e293b;margin-bottom:4px;font-size:.875rem;font-weight:600}.creative-meta{color:var(--text-muted);font-size:.75rem}.flex-header{justify-content:space-between;align-items:center;display:flex}.btn-sm{padding:8px 16px;font-size:.875rem}.mt-4{margin-top:24px}.mb-4{margin-bottom:24px}.mb-2{margin-bottom:8px}.mt-2{margin-top:8px}.table-container{border-radius:var(--radius);border:1px solid var(--border-color);background:#fff;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:16px 24px;font-size:.875rem}.data-table th{color:var(--text-muted);background:#f8fafc;font-weight:600}.data-table tr:hover td{cursor:default;background:#f8fafc}.raw-html-content table,.ql-editor table{border-collapse:collapse!important;border:1px solid var(--border-color)!important;width:100%!important;margin:16px 0!important}.raw-html-content th,.raw-html-content td,.ql-editor th,.ql-editor td{min-width:50px;border:1px solid var(--border-color)!important;text-align:left!important;padding:8px 12px!important}.raw-html-content th,.ql-editor th{background:#f1f5f9!important;font-weight:600!important}.font-medium{color:#1e293b;font-weight:500}.text-muted{color:var(--text-muted)}.capitalize{text-transform:capitalize}.badge{border-radius:12px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-block}.badge-blue{background:var(--primary);color:#fff}.badge-gray{color:var(--text-muted);border:1px solid var(--border-color);background:#f1f5f9}.mailing-header{border:1px solid var(--border-color);border-radius:var(--radius);background:#fff}.mail-row{border-bottom:1px solid var(--border-color);align-items:flex-start;min-height:48px;padding:12px 16px;display:flex}.mail-label{width:80px;color:var(--text-muted);padding-top:6px;font-size:.875rem;font-weight:500}.mail-input-area{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex;position:relative}.selected-users{flex-wrap:wrap;gap:8px;display:flex}.btn-accept{background:var(--status-approved);color:#fff;border:1px solid var(--status-approved);border-radius:var(--radius);cursor:pointer;padding:10px 24px;font-weight:600;transition:all .2s;box-shadow:0 4px 6px -1px #10b98140}.btn-accept:hover{background:#059669;transform:translateY(-1px);box-shadow:0 6px 8px -1px #10b98166}.btn-reject{color:var(--status-rejected);border:1px solid var(--status-rejected);border-radius:var(--radius);cursor:pointer;background:#fff;padding:10px 24px;font-weight:600;transition:all .2s}.btn-reject:hover{background:#fef2f2}.btn-send-back{color:var(--status-sent-back);border:1px solid var(--status-sent-back);border-radius:var(--radius);cursor:pointer;background:#fff;padding:10px 24px;font-weight:600;transition:all .2s}.btn-send-back:hover{background:#fff7ed}.btn-share{background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:var(--radius);cursor:pointer;padding:10px 24px;font-weight:600;transition:all .2s}.btn-share:hover{background:#1d4ed8;transform:translateY(-1px)}.btn-cancel{color:#64748b;border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;background:#fff;padding:10px 24px;font-weight:600;transition:all .2s}.btn-cancel:hover{color:var(--status-rejected);border-color:var(--status-rejected);background:#f1f5f9}.btn-send-again{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius);cursor:pointer;padding:10px 24px;font-weight:600;transition:all .2s}.btn-send-again:hover{background:var(--primary);color:#fff}.btn-back{border:1px solid var(--border-color);color:#475569;border-radius:var(--radius);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:8px 16px;font-weight:500;transition:all .2s;display:flex}.btn-back:hover{color:#1e293b;background:#f1f5f9}.added-link-item{margin-bottom:8px;transition:all .2s}.added-link-item:last-child{margin-bottom:0}.added-link-item:hover{background:#e2e8f0!important;border-color:#cbd5e1!important}.comment-input-area{border-top:1px solid var(--border-color);flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;display:flex}.user-chip{color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:6px;padding:4px 10px;font-size:.875rem;display:inline-flex}.user-chip.acted{color:#065f46;background-color:#ecfdf5;border-color:#a7f3d0}.user-chip.current{color:#854d0e;background-color:#fef9c3;border-color:#fde047}.user-chip.sender{color:#92400e;background-color:#fffbeb;border-color:#fde68a}.user-chip.pending{color:#64748b;cursor:grab;background-color:#f8fafc;border-color:#e2e8f0}.user-chip.pending:active{cursor:grabbing}.user-chip.drag-over{border:2px dashed #3b82f6}.remove-chip{color:var(--text-muted);cursor:pointer;font-size:1.1rem;line-height:1}.remove-chip:hover{color:var(--status-rejected)}.mail-input{font-size:.875rem;font-family:var(--font-family);background:0 0;border:none;outline:none;flex:1;min-width:150px;padding:6px 0}.autocomplete-dropdown{border:1px solid var(--border-color);border-radius:var(--radius);width:100%;max-height:200px;box-shadow:var(--shadow-md);z-index:10;background:#fff;display:none;position:absolute;top:100%;left:0;overflow-y:auto}.dropdown-item{cursor:pointer;padding:10px 16px;font-size:.875rem;transition:background .2s}.dropdown-item:hover{background:#f8fafc}.workflow-chips-container{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.workflow-chip{border:1px solid #0000;border-radius:8px;flex-direction:column;min-width:150px;padding:10px 14px;font-size:.875rem;display:flex;box-shadow:0 1px 2px #0000000d}.workflow-chip .chip-name{justify-content:space-between;align-items:center;margin-bottom:6px;font-weight:600;display:flex}.workflow-chip .chip-role{text-transform:uppercase;letter-spacing:.025em;opacity:.7;font-size:.65rem}.workflow-chip .chip-timestamps{opacity:.9;border-top:1px solid #0000000d;flex-direction:column;gap:4px;padding-top:6px;font-size:.7rem;display:flex}.workflow-chip .timestamp-row{justify-content:space-between;gap:8px;display:flex}.chip-approved{color:#065f46;background-color:#ecfdf5;border-color:#a7f3d0}.chip-pending{color:#92400e;background-color:#fffbeb;border-color:#fde68a}.chip-rejected{color:#991b1b;background-color:#fef2f2;border-color:#fecaca}.chip-future{color:#64748b;background-color:#f8fafc;border-color:#e2e8f0}.rich-text-editor{border:1px solid var(--border-color);background:#fff;border-radius:8px;margin-top:8px;overflow:hidden}.editor-header{border-bottom:1px solid var(--border-color);color:#475569;background:#f8fafc;padding:8px 16px;font-size:.875rem;font-weight:600}#summaryEditor{min-height:300px;border:none!important}.ql-toolbar.ql-snow{background:#fdfdfd;border:none!important;border-bottom:1px solid var(--border-color)!important}.ql-container.ql-snow{border:none!important;font-family:Inter,sans-serif!important;font-size:1rem!important}.ql-editor{min-height:300px}.ql-snow .ql-picker.ql-size{width:70px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:attr(data-value)!important}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="14px"]:before{content:"14px (Default)"!important}.ql-snow .ql-picker.ql-size .ql-picker-label:not([data-value]):before{content:"14px"!important}.raw-html-content p{margin-bottom:1rem}.raw-html-content ul,.raw-html-content ol{margin-bottom:1rem;margin-left:1.5rem}.delete-dept-btn.hover-danger{transition:all .2s}.delete-dept-btn.hover-danger:hover{color:var(--status-rejected)!important;background:#fef2f2!important}.pagination-btn{border:1px solid var(--border-color);cursor:pointer;color:#475569;background:#fff;border-radius:6px;padding:8px 16px;font-weight:500;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.pagination-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;background:#f8fafc}.request-content,.list-item-main{flex:1;min-width:0}.auth-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:40px;animation:.4s fadeInUp;box-shadow:0 25px 50px -12px #00000040}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-logo{text-align:center;margin-bottom:32px}.auth-logo h1{color:#1e293b;margin-top:12px;font-size:1.75rem}.auth-subtitle{color:var(--text-muted);margin-top:4px;font-size:.9rem}.auth-field{margin-bottom:20px}.auth-field label{color:#475569;margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.auth-btn{cursor:pointer;border-radius:8px;width:100%;margin-top:8px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:all .2s}.auth-error{color:#dc2626;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:.85rem}.auth-success{color:#16a34a;background:#f0fdf4;border:1px solid #dcfce7;border-radius:8px;margin-top:12px;padding:10px 14px;font-size:.85rem}.master-layout{background:var(--bg-color);min-height:100vh}.master-header{border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.master-header-left{align-items:center;gap:12px;display:flex}.master-header-left h1{color:#1e293b;font-size:1.25rem}.master-header-right{align-items:center;gap:16px;display:flex}.master-user-name{color:#475569;font-size:.9rem;font-weight:500}.master-body{max-width:1200px;margin:0 auto;padding:32px}.master-title-row{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.master-title-row h2{color:#1e293b;font-size:1.5rem}.project-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;display:grid}.project-card{border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;transition:box-shadow .2s,transform .2s;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.project-card-header{justify-content:space-between;align-items:center;padding:20px 24px 12px;display:flex}.project-card-header h3{color:#1e293b;font-size:1.15rem}.project-card-body{padding:0 24px 16px}.project-info-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:6px 0;font-size:.85rem;display:flex}.project-info-row:last-child{border-bottom:none}.project-label{color:var(--text-muted);font-weight:500}.project-slug{color:#334155;background:#f1f5f9;border-radius:4px;padding:2px 8px;font-size:.8rem}.project-link-text{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.75rem;overflow:hidden}.project-card-actions{border-top:1px solid #f1f5f9;gap:8px;padding:12px 24px 20px;display:flex}
