:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-soft: #eff4ff;--bg: #eef1f6;--surface: #ffffff;--border: #e5e9f0;--text: #1f2733;--text-muted: #6b778c;--text-soft: #98a2b3;--green: #22c55e;--green-soft: #e7f7ee;--sidebar-bg: #1b1d2a;--sidebar-bg-hover: #252838;--sidebar-text: #a8b0c2;--sidebar-text-active: #ffffff;--sidebar-border: rgba(255, 255, 255, .06);--sidebar-w: 236px;--header-h: 62px;--radius: 10px;--shadow: 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 4px 16px rgba(16, 24, 40, .07);--font: "Helvetica Neue", Helvetica, Inter, Arial, sans-serif;font-family:var(--font)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;font-weight:400;line-height:20.5px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.app-shell{display:flex;min-height:100vh;background:var(--bg)}.main-area{flex:1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-width:0;background:var(--bg);min-height:100vh}.page-body{padding:22px 26px;flex:1}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);background:var(--sidebar-bg);border-right:none;display:flex;flex-direction:column;z-index:30;color:var(--sidebar-text)}.sidebar-brand{min-height:var(--header-h);display:flex;align-items:center;gap:11px;padding:14px 18px 12px;border-bottom:1px solid var(--sidebar-border)}.brand-logo{width:34px;height:34px;border-radius:8px;background:#f5b301;color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px;flex-shrink:0}.brand-name{font-weight:700;font-size:15px;color:#fff;line-height:1.2}.brand-status{font-size:11px;color:var(--green);display:flex;align-items:center;gap:6px;margin-top:3px;font-weight:500}.brand-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 2px #22c55e40;flex-shrink:0}.sidebar-nav{padding:14px 10px 20px;overflow-y:auto;flex:1}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--sidebar-text);font-weight:500;margin-bottom:2px;transition:background .15s,color .15s}.nav-item:hover{background:var(--sidebar-bg-hover);color:var(--sidebar-text-active)}.nav-item.active{background:var(--sidebar-bg-hover);color:var(--sidebar-text-active);font-weight:600}.nav-item .nav-icon{width:18px;height:18px;flex-shrink:0;opacity:.9}.nav-caret{margin-left:auto;font-size:14px;opacity:.55;transition:transform .2s;font-weight:400}.nav-caret.open{transform:rotate(90deg);opacity:.9}.nav-sub{margin:2px 0 8px;padding-left:18px}.nav-sub .nav-item{padding:8px 12px 8px 24px;font-size:13px;position:relative}.nav-sub .nav-item:before{content:"";position:absolute;left:12px;top:50%;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.35;transform:translateY(-50%)}.nav-sub .nav-item.active:before{opacity:1;background:var(--primary)}.header{height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 26px;gap:16px;position:sticky;top:0;z-index:20}.header-title h1{font-size:19px;margin:0;font-weight:700;color:var(--text)}.breadcrumb{font-size:12px;color:var(--text-soft);margin-top:2px}.breadcrumb b{color:var(--text-muted);font-weight:500}.header-spacer{flex:1}.header-icons{display:flex;align-items:center;gap:8px}.icon-btn{width:36px;height:36px;border-radius:8px;border:none;background:transparent;color:var(--text-muted);display:grid;place-items:center}.icon-btn:hover{background:var(--bg);color:var(--text)}.icon-btn.is-active{background:var(--primary-soft);color:var(--primary)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.stat-top{display:flex;align-items:flex-start;justify-content:space-between}.stat-label{color:var(--text-muted);font-weight:500;font-size:13px}.stat-icon{width:20px;height:20px;color:var(--text-soft);opacity:.85}.stat-value{font-size:22px;font-weight:700;color:var(--primary)}.stat-hint{font-size:11px;color:var(--text-soft);margin-top:-8px;line-height:1.35}.dash-page{display:flex;flex-direction:column;gap:16px}.dash-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-stat-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dash-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dash-widget{background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:10px;box-shadow:var(--shadow);min-height:220px;display:flex;flex-direction:column}.dash-widget-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border, #e5e7eb)}.dash-widget-head h3{margin:0;font-size:14px;font-weight:700}.dash-widget-link{font-size:12.5px;color:var(--primary, #2563eb);text-decoration:none;font-weight:500}.dash-widget-link:hover{text-decoration:underline}.dash-widget-body{padding:12px 16px 16px;flex:1;min-height:0}.dash-widget-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:140px;color:var(--text-soft);font-size:13px}.dash-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.dash-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f1f5f9}.dash-list li:last-child{border-bottom:0}.dash-list-main{min-width:0;text-decoration:none;color:inherit}.dash-list-title{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-list-sub{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.dash-list-meta{font-size:12px;color:var(--text-muted);white-space:nowrap}.dash-list-amount{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap}.dash-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text);white-space:nowrap}.dash-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dash-bar-chart{display:flex;align-items:flex-end;gap:10px;height:180px;padding-top:8px}.dash-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%;min-width:0}.dash-bar{width:100%;max-width:42px;background:#3b82f6;border-radius:6px 6px 0 0;min-height:4px}.dash-bar-value{font-size:10px;font-weight:600;color:var(--text-muted);text-align:center}.dash-bar-label{font-size:10px;color:var(--text-soft);text-align:center;line-height:1.2}.dash-line-chart{display:flex;flex-direction:column;gap:8px}.dash-line-svg{width:100%;height:150px;display:block}.dash-line-point{font-size:10px;fill:var(--text-muted);font-weight:600}.dash-line-labels{display:flex;justify-content:space-between;gap:4px;font-size:10px;color:var(--text-soft)}.dash-stage-chart{height:180px}@media (max-width: 1100px){.dash-stat-grid,.dash-stat-grid-4,.dash-grid-2{grid-template-columns:1fr 1fr}}@media (max-width: 700px){.dash-stat-grid,.dash-stat-grid-4,.dash-grid-2{grid-template-columns:1fr}.dash-list li{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-header{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.card-header h3{margin:0;font-size:15px;font-weight:700}.card-body{padding:18px}.toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;display:flex;align-items:center;gap:14px;margin-bottom:14px;box-shadow:var(--shadow)}.toolbar-label{font-size:12px;color:var(--text-soft);white-space:nowrap}.toolbar-field{display:flex;align-items:center;gap:8px}.toolbar-dates{gap:8px}.toolbar-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b778c' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--border);border-radius:8px;padding:8px 32px 8px 12px;font-size:13px;color:var(--text);min-width:140px;outline:none}.toolbar-select:focus{border-color:var(--primary)}input.toolbar-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background-image:none;padding-right:12px;min-width:140px}.toolbar-deals{flex-wrap:wrap;row-gap:10px}.toolbar-search{flex:1;min-width:200px;max-width:none;margin-left:auto}.btn-filter{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn-filter.is-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.toolbar-advanced{margin-top:-6px;border-top:none;border-top-left-radius:0;border-top-right-radius:0;padding-top:10px}.search-box{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 12px;flex:1;max-width:380px}.search-box input{border:none;background:transparent;outline:none;width:100%;font-size:13px}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:600;font-size:13px}.btn:hover{background:var(--bg)}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark)}.btn-dark{background:#1f2733;color:#fff;border-color:#1f2733}.btn-dark:hover{background:#111827}.btn-sm{padding:6px 12px;font-size:12px}.btn-ghost{border:none;background:transparent}.btn:disabled{opacity:.65;cursor:default}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}table.data-table{width:100%;border-collapse:collapse}.data-table thead th{text-align:left;padding:13px 16px;font-size:12px;font-weight:600;color:var(--text-muted);background:#fafbfd;border-bottom:1px solid var(--border);white-space:nowrap}.data-table tbody td{padding:13px 16px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#fafbfd}.cell-primary{font-weight:600;color:var(--text)}.cell-link{border:none;background:none;padding:0;font:inherit;font-weight:600;color:var(--primary);cursor:pointer;text-align:left}.cell-link:hover{text-decoration:underline}.cell-sub{font-size:12px;color:var(--text-soft)}.cell-muted{color:var(--text-soft)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:700;font-size:13px;flex-shrink:0}.avatar-sm{width:26px;height:26px;font-size:11px}.name-cell{display:flex;align-items:center;gap:10px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-dot{width:7px;height:7px;border-radius:50%}.badge-active{background:var(--green-soft);color:var(--green)}.badge-inactive{background:#fdeaea;color:#d64545}.stage-pill{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:13px}.row-actions{position:relative;display:flex;justify-content:flex-end}.actions-btn{border:1px solid var(--border);background:var(--surface);border-radius:7px;width:30px;height:30px;display:grid;place-items:center;color:var(--text-muted)}.actions-menu{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);min-width:180px;overflow:hidden;padding:4px 0}.actions-menu-portal{position:fixed;z-index:1400}.actions-menu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 14px;border:none;background:transparent;font-size:13px;color:var(--text)}.actions-menu button:hover{background:var(--bg)}.actions-menu button.danger{color:#d64545}.actions-menu-icon{display:inline-flex;color:var(--text-muted);flex-shrink:0}.actions-menu button.danger .actions-menu-icon{color:#d64545}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.form-section-title{padding:16px 22px;border-bottom:1px solid var(--border);font-weight:700;font-size:15px}.form-body{padding:24px 22px}fieldset.form-body{border:none;margin:0;min-width:0}fieldset.form-body:disabled{opacity:1}fieldset.form-body:disabled .form-control,fieldset.form-body:disabled .btn,fieldset.form-body:disabled input,fieldset.form-body:disabled select,fieldset.form-body:disabled textarea{cursor:default;background:var(--bg)}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 22px}.form-grid-2{grid-template-columns:repeat(2,1fr)}.form-grid-3{grid-template-columns:repeat(3,1fr)}.form-grid-4{grid-template-columns:repeat(4,1fr)}.form-group.full-2{grid-column:span 2}.form-grid.cols-2{grid-template-columns:repeat(2,1fr)}.form-group{display:flex;flex-direction:column;gap:7px}.form-group.full{grid-column:1 / -1}.form-label{font-size:13px;color:var(--text);font-weight:500}.form-label .req{color:#d64545;margin-left:2px}.form-hint{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;border-radius:50%;background:var(--bg);border:1px solid var(--border);color:var(--text-soft);font-size:11px;cursor:help}.form-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.input-prefix-group{display:flex;align-items:stretch}.input-prefix{display:inline-flex;align-items:center;padding:0 12px;border:1px solid var(--border);border-right:none;border-radius:8px 0 0 8px;background:var(--bg);color:var(--text-muted);font-size:13px;font-weight:600;white-space:nowrap}.input-prefix-group .form-control{border-radius:0 8px 8px 0}.file-drop{display:grid;place-items:center;min-height:110px;border:1px dashed var(--border);border-radius:8px;background:#fafbfd;cursor:pointer;overflow:hidden;padding:10px}.file-drop:hover{border-color:var(--primary);background:var(--primary-soft)}.file-drop-wide{min-height:140px}.file-drop-placeholder{color:var(--text-soft);font-size:13px}.file-drop-preview{max-width:100%;max-height:90px;object-fit:contain;border-radius:6px}.file-drop-preview.lg{max-height:120px}@media (max-width: 1100px){.form-grid-4,.form-grid-3{grid-template-columns:repeat(2,1fr)}.form-group.full-2{grid-column:span 2}}@media (max-width: 720px){.form-grid-4,.form-grid-3,.form-grid-2,.form-grid{grid-template-columns:1fr}.form-group.full-2{grid-column:auto}}.form-control{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-control.is-invalid{border-color:#d64545}.form-control.is-invalid:focus{box-shadow:0 0 0 3px #fdeaea}.field-error{font-size:12px;color:#d64545;margin-top:2px}textarea.form-control{resize:vertical;min-height:84px}.input-prefix{display:flex;align-items:stretch}.input-prefix .prefix{background:var(--bg);border:1px solid var(--border);border-right:none;border-radius:8px 0 0 8px;padding:10px 12px;color:var(--text-muted);font-weight:600}.input-prefix .form-control{border-radius:0 8px 8px 0;flex:1}.form-check{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--text)}.radio-row{display:flex;align-items:center;gap:18px;min-height:40px}.form-radio{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer}.form-radio input{accent-color:var(--primary)}.rich-editor{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.rich-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:8px 10px;border-bottom:1px solid var(--border);background:#fafbfd}.rich-toolbar button{border:1px solid transparent;background:transparent;border-radius:6px;padding:4px 8px;font-size:12px;color:var(--text-muted)}.rich-toolbar button:hover{background:var(--bg);border-color:var(--border);color:var(--text)}.rich-toolbar-sep{width:1px;background:var(--border);margin:2px 6px}.rich-editor-body{min-height:160px;padding:14px 16px;outline:none;font-size:14px;line-height:1.55}.rich-editor-body:empty:before{content:attr(data-placeholder);color:var(--text-soft);pointer-events:none}.rich-editor-lg .rich-editor-body{min-height:180px}.note-type-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.note-type-public{background:#e7f7ee;color:#16a34a}.note-type-private{background:#eff4ff;color:#2563eb}.divider{height:1px;background:var(--border);margin:24px 0}.check-row{display:flex;gap:40px;flex-wrap:wrap;margin:26px 0 4px}.accordion-block{margin-top:22px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.accordion-header{display:flex;align-items:center;gap:10px;width:100%;padding:14px 18px;border:none;background:#f4f6fa;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;text-align:left}.accordion-header:hover{background:#eef1f6}.accordion-header.is-open{background:#eef1f6;border-bottom:1px solid var(--border)}.accordion-caret{display:inline-flex;align-items:center;justify-content:center;width:18px;font-size:12px;color:var(--text-muted);transition:transform .2s}.accordion-caret.open{transform:rotate(180deg)}.accordion-body{padding:20px 18px 18px}.input-with-btn{display:flex;align-items:stretch;gap:8px}.input-with-btn .form-control{flex:1;min-width:0}.btn-attached{padding:9px 14px;flex-shrink:0}.user-chip-field{display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:8px;padding:6px 12px;min-height:40px;background:var(--surface)}.user-chip-name{font-size:13px;font-weight:500}.user-chip-badge{background:var(--primary);color:#fff;font-size:10px;font-weight:700;letter-spacing:.2px;padding:2px 7px;border-radius:4px;margin-left:auto}.select-with-dot{position:relative;display:flex}.select-with-dot .badge-dot{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none}.select-with-dot .form-control{flex:1;padding-left:28px}.stage-inline{min-width:150px}.form-control-sm{padding:6px 10px;font-size:12px;min-height:32px}.form-footer{padding:18px 22px;border-top:1px solid var(--border);display:flex;align-items:center;gap:14px}.link-cancel{color:var(--text-muted);font-weight:500}.auth-page{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.auth-topbar{height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:10px}.auth-topbar .brand-name{color:var(--text)}.auth-content{flex:1;display:flex;justify-content:center;padding:48px 16px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);width:100%;max-width:400px;height:fit-content;padding:30px 34px 26px}.auth-title{text-align:center;font-size:20px;font-weight:700;margin:0 0 22px}.auth-card .form-group{margin-bottom:16px}.auth-error{background:#fdeaea;color:#d64545;border:1px solid #f5c6c6;border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:16px}.auth-password-wrap{position:relative;display:flex}.auth-password-wrap .form-control{flex:1;padding-right:38px}.auth-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--text-soft);width:30px;height:30px;display:grid;place-items:center;border-radius:6px}.auth-eye:hover{color:var(--text)}.auth-forgot{display:inline-block;font-size:13px;color:var(--primary);margin-bottom:14px}.auth-forgot:hover{text-decoration:underline}.auth-stay{margin-bottom:18px}.auth-submit{width:100%;justify-content:center;padding:11px 16px;font-size:14px}.auth-submit:disabled{opacity:.7;cursor:default}.user-menu{position:relative}.user-menu-trigger{border:none;background:transparent;padding:0;display:grid;place-items:center}.user-menu-dropdown{position:absolute;right:0;top:40px;z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);min-width:210px;overflow:hidden}.user-menu-info{padding:12px 14px;border-bottom:1px solid var(--border)}.user-menu-name{font-weight:700;font-size:13.5px}.user-menu-email{font-size:12px;color:var(--text-soft);margin-top:2px}.user-menu-role{display:inline-block;margin-top:7px;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;text-transform:capitalize}.user-menu-logout{display:flex;align-items:center;gap:9px;width:100%;padding:11px 14px;border:none;background:transparent;font-size:13px;font-weight:500;color:#d64545;text-align:left}.user-menu-logout:hover{background:#fdeaea}.slide-over{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:flex-end}.slide-over-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:#0f172a47;opacity:0;transition:opacity .3s ease;cursor:default}.slide-over.is-open .slide-over-backdrop{opacity:1}.slide-over-panel{position:relative;z-index:1;width:calc(100vw - var(--sidebar-w));height:100%;background:var(--bg);box-shadow:-10px 0 34px #10182829;transform:translate(100%);transition:transform .3s cubic-bezier(.22,.8,.2,1)}.slide-over.is-open .slide-over-panel{transform:translate(0)}.slide-over-close{position:absolute;top:14px;left:-44px;width:44px;height:36px;padding:0;border:none;border-radius:18px 0 0 18px;background:#2563eb;color:#fff;display:inline-flex;align-items:center;justify-content:center;line-height:1;z-index:2;box-shadow:none;cursor:pointer}.slide-over-close:hover{background:#1d4ed8}.slide-over-close svg{width:15px;height:15px;stroke-width:2.4}.slide-over-scroll{height:100%;overflow-y:auto;padding:20px 26px 40px}.slide-over-title{margin:0 0 16px;font-size:20px;font-weight:700;color:var(--text)}.slide-over-scroll .form-section-title{font-size:16px;padding:20px 24px 0;border-bottom:none}.slide-over-scroll .form-body{padding:22px 24px 26px}.slide-over-scroll .form-footer{padding:0 24px 22px;border-top:none}@media (max-width: 720px){.slide-over-panel{width:100vw}.slide-over-close{left:auto;right:16px;top:16px}.slide-over-title{padding-right:66px}}.sticky-notes-panel{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.sticky-notes-grid{display:grid;grid-template-columns:repeat(auto-fill,216px);gap:18px;width:100%}.sticky-note-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:15px 16px 13px;min-height:158px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.sticky-note-top{display:flex;align-items:flex-start;gap:8px;flex:1}.sticky-note-text{flex:1;font-size:13px;line-height:1.45;color:var(--text);white-space:pre-wrap;word-break:break-word}.sticky-note-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:10px}.sticky-note-date{font-size:12px;color:var(--text-soft)}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#21252973;display:grid;place-items:center;padding:20px}.confirm-dialog{width:min(440px,100%);background:#fff;border-radius:6px;box-shadow:0 12px 40px #1018282e;padding:36px 28px 28px;text-align:center}.confirm-dialog-icon{display:grid;place-items:center;margin:0 auto 18px}.confirm-dialog h3{margin:0 0 10px;font-size:22px;font-weight:600;color:#595959}.confirm-dialog p{margin:0 0 28px;font-size:14px;color:#797979;line-height:1.5}.confirm-dialog-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.confirm-dialog-actions .btn{min-width:110px;justify-content:center}.confirm-dialog-actions .btn-primary{background:#3085d6;border-color:#3085d6}.confirm-dialog-actions .btn-primary:hover{background:#2771b8;border-color:#2771b8}.ws-tabs,.page-tabs,.detail-tabs,.dash-tabs,.dr-tabs,.client-detail-tabs,.settings-profile-tabs{display:flex;align-items:stretch;gap:0;width:100%;margin:0 0 12px;padding:0;background:#f3f5f8;border-bottom:1px solid var(--border);border-radius:0;overflow-x:auto}.page-body>.page-tabs:first-child{margin-top:-10px}.main-area>.page-tabs{padding:0;margin:0;background:#f3f5f8}.detail-card>.page-tabs{margin:0;border-radius:0;padding:0;border-top:1px solid var(--border)}.client-detail-body .page-tabs,.page-body .page-tabs{background:#f3f5f8;border-radius:0;padding:0}.project-detail-top .page-tabs{flex:1;min-width:0;margin-bottom:0;border-bottom:1px solid var(--border)}.detail-tabs,.dash-tabs,.dr-tabs,.client-detail-tabs,.settings-profile-tabs{flex-wrap:nowrap}.detail-tab,.dash-tabs button,.dr-tabs button,.client-detail-tabs .detail-tab,.settings-profile-tabs.dr-tabs button{position:relative;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-muted);font-family:var(--font);font-size:13.5px;font-weight:500;line-height:1.2;min-height:40px;min-width:88px;padding:0 18px;margin:0;cursor:pointer;white-space:nowrap;flex:0 0 auto;transition:color .12s ease,background-color .12s ease}.detail-tab:hover,.dash-tabs button:hover,.dr-tabs button:hover,.client-detail-tabs .detail-tab:hover,.settings-profile-tabs.dr-tabs button:hover{color:var(--text);background:#ffffff8c}.detail-tab.is-active,.dash-tabs button.active,.dr-tabs button.active,.client-detail-tabs .detail-tab.is-active,.settings-profile-tabs.dr-tabs button.active{color:var(--text);font-weight:600;background:#fff;border-bottom:3px solid var(--primary);margin-bottom:-1px}.dash-tabs{margin-top:-10px;margin-bottom:12px;border-radius:0}.settings-profile-tabs{padding:0;margin:0;background:#f3f5f8}.settings-profile-tabs.dr-tabs{margin-bottom:0}.detail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-height:360px}.detail-card-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 12px}.detail-card-head h2{margin:0;font-size:16px;font-weight:700}.detail-card-body{padding:0 22px 22px}.detail-actions{position:relative}.detail-actions-menu{position:absolute;right:0;top:36px;z-index:20;min-width:160px}.profile-grid{padding:8px 22px 28px;display:grid;gap:18px 40px;max-width:820px}.profile-row{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:start}.profile-label{color:var(--text-muted);font-size:13px;padding-top:2px}.profile-value{color:var(--text);font-size:14px;font-weight:500;word-break:break-word}.profile-value a{color:var(--primary)}.profile-user{display:flex;align-items:center;gap:10px}.profile-user-name{display:flex;align-items:center;gap:8px;font-weight:600}.profile-user-role{font-size:12px;color:var(--text-soft);margin-top:2px}.lead-note-composer{margin-bottom:18px}.lead-note-composer-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.lead-notes-list{display:flex;flex-direction:column;gap:12px}.lead-note-item{border:1px solid var(--border);border-radius:8px;padding:14px 16px;background:#fafbfd}.lead-note-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.lead-note-text{margin:0 0 12px;white-space:pre-wrap;line-height:1.5}.lead-note-actions{display:flex;gap:8px}@media (max-width: 720px){.profile-row{grid-template-columns:1fr;gap:4px}.profile-grid{padding:8px 16px 24px}}.client-detail-body{padding-top:8px}.client-summary-grid{display:grid;grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(150px,1fr));gap:18px;margin-bottom:18px}.client-identity-card,.client-stat-card{min-height:92px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:15px 18px}.client-identity-card{display:flex;align-items:center;gap:14px}.client-identity-card>.avatar{width:54px;height:54px;flex:0 0 54px}.client-identity-copy{min-width:0;flex:1}.client-identity-name{font-size:15px;font-weight:700;margin-bottom:3px}.client-stat-card{display:flex;flex-direction:column;justify-content:space-between;color:var(--text-muted);font-size:13px}.client-stat-card strong{color:var(--primary);font-size:16px}.client-profile-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr);gap:18px;align-items:start}.client-profile-grid{max-width:none}.client-side-widgets{display:grid;gap:18px}.client-side-widgets .detail-card{min-height:250px}.client-module-empty{min-height:360px}.client-empty-illustration{margin:44px auto 0;width:34px;height:34px;display:grid;place-items:center;color:var(--text-soft);font-size:27px}.client-module-empty .empty-state{padding-top:8px}.client-company-logo{max-width:100px;max-height:56px;object-fit:contain}.deal-profile-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr);gap:18px;align-items:start;margin-bottom:18px}.deal-contact-card{min-height:320px}.deal-pipeline-trail{display:flex;align-items:center;gap:10px;padding:0 22px 16px;font-size:13px;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border)}.deal-pipeline-step{display:inline-flex;align-items:center;gap:8px}.deal-pipeline-arrow{color:var(--text-soft);font-weight:500}.deal-contact-actions{display:flex;gap:10px;padding:8px 22px 22px}.deal-contact-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-family:var(--font);font-size:13px;font-weight:600;text-decoration:none;transition:border-color .15s ease,background .15s ease}.deal-contact-btn:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.deal-contact-btn:disabled{opacity:.55;cursor:not-allowed}.deal-module-empty{min-height:260px}.deal-upload-link{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:var(--primary);font-family:var(--font);font-size:14px;font-weight:600;padding:0}.deal-upload-link:disabled{opacity:.65;cursor:not-allowed}.deal-files-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:180px;color:var(--text-soft);font-size:14px}.deal-history-card{padding:8px 22px 22px;min-height:200px}.deal-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.deal-history-item{border:1px solid var(--border);border-radius:8px;padding:14px 16px;background:var(--surface)}.deal-history-meta{display:flex;align-items:flex-start;gap:12px}.deal-history-action{font-weight:600;font-size:14px;color:var(--text)}.deal-history-details{font-size:13px;color:var(--text-muted);margin-top:4px}.deal-history-date{font-size:12px;color:var(--text-soft);margin-top:6px}.proposal-status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize;background:var(--bg);color:var(--text-muted)}.proposal-status-sent{background:#eff4ff;color:var(--primary)}.proposal-status-accepted{background:#ecfdf3;color:#16a34a}.proposal-status-rejected{background:#fef2f2;color:#dc2626}.proposal-status-waiting{background:#fff7ed;color:#ea580c}.proposal-status-canceled,.proposal-status-cancelled{background:#f3f4f6;color:#6b7280}.estimate-item-yes{display:inline-block;background:#ecfdf3;color:#16a34a;border:1px solid #86efac;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.proposal-status-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.proposal-sent-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}.proposal-sent-badge.not-sent{background:#fef2f2;color:#dc2626}.proposal-sent-badge.is-sent{background:#ecfdf3;color:#16a34a}.page-info-banner{background:#e8f4fc;border:1px solid #c5e3f6;color:#1e5a7a;border-radius:var(--radius);padding:12px 16px;font-size:13px;margin-bottom:14px}@media (max-width: 850px){.deal-profile-layout{grid-template-columns:1fr}}@media (max-width: 1100px){.client-summary-grid{grid-template-columns:repeat(3,1fr)}.client-identity-card{grid-column:1 / -1}}@media (max-width: 850px){.client-profile-layout{grid-template-columns:1fr}}@media (max-width: 620px){.client-summary-grid{grid-template-columns:1fr}.client-identity-card{grid-column:auto}}.mrt-paper{overflow:visible}.mrt-paper .MuiCheckbox-root{color:var(--text-soft)}.mrt-paper .Mui-checked{color:var(--primary)!important}.mrt-paper .MuiTablePagination-root{font-family:var(--font);color:var(--text-muted)}.detail-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 22px 12px}.detail-title{margin:0;font-size:18px;font-weight:700}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px;padding:8px 22px 22px}.detail-field{display:flex;flex-direction:column;gap:4px;font-size:14px}.detail-label{color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.detail-section{padding:0 22px 22px}.detail-section h3{margin:0 0 10px;font-size:15px}.detail-content{white-space:pre-wrap;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;font-size:14px;line-height:1.6}.contract-summary-card{padding-bottom:0}.contract-summary-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;padding:24px 22px}.contract-summary-main{display:flex;flex-direction:column;gap:22px}.contract-brand-row{display:flex;align-items:center;gap:12px}.contract-block-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px}.contract-address{white-space:pre-line;margin-top:8px;font-size:13px}.contract-summary-side{border:1px solid var(--border);border-radius:var(--radius);padding:18px;background:var(--bg);height:fit-content}.contract-side-title{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--text-muted);margin-bottom:14px}.contract-side-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.contract-side-row:last-child{border-bottom:none}.contract-side-signature{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.contract-side-signature span{display:block;font-size:12px;color:var(--text-muted);margin-bottom:8px}.contract-side-signature img{max-width:100%;max-height:80px;background:#fff;border-radius:4px;padding:4px}.contract-summary-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-top:1px solid var(--border);background:#fafbfd}.contract-value-label{font-size:14px}.contract-summary-actions{display:flex;align-items:center;gap:12px}.contract-comment-form{margin-bottom:20px}.contract-comment-actions{display:flex;gap:10px;margin-top:12px}.contract-discussion-list{display:flex;flex-direction:column;gap:16px}.contract-discussion-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--border)}.contract-discussion-meta{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:13px}.contract-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-bottom:18px}.contract-file-card{border:1px solid var(--border);border-radius:var(--radius);padding:12px;background:var(--bg);text-align:center}.contract-file-thumb{width:100%;height:110px;object-fit:cover;border-radius:8px;margin-bottom:8px}.contract-file-thumb-doc{display:grid;place-items:center;background:var(--surface);font-size:28px;font-weight:700;color:var(--text-muted)}.contract-file-name{font-size:12px;word-break:break-word;margin-bottom:4px}.contract-renew-form{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.contract-renewal-list{display:flex;flex-direction:column;gap:16px}.contract-renewal-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--border)}.contract-renewal-details{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--text-muted)}.input-suffix{border-left:none;border-radius:0 8px 8px 0}.toast-success{position:fixed;top:78px;right:24px;z-index:1200;background:#ecfdf3;color:#166534;border:1px solid #bbf7d0;border-radius:8px;padding:12px 16px;box-shadow:var(--shadow);font-size:14px}.btn-link{border:none;background:transparent;color:var(--primary);display:inline-flex;align-items:center;gap:6px;padding:0;font-size:14px;cursor:pointer}.btn-sm{padding:4px 10px;font-size:12px}.signature-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;background:#0f172a8c;display:grid;place-items:center;padding:20px}.signature-modal{width:min(720px,100%);background:#1d212f;color:#f8fafc;border-radius:4px;box-shadow:0 20px 50px #00000059;overflow:hidden}.signature-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.signature-modal-header h2{margin:0;font-size:16px;font-weight:600}.signature-modal-close{border:none;background:transparent;color:#e2e8f0;cursor:pointer;padding:4px;display:grid;place-items:center}.signature-modal-close:disabled{opacity:.5;cursor:not-allowed}.signature-modal-body{padding:18px 20px 12px}.signature-modal-label{display:block;font-size:13px;margin-bottom:10px;color:#cbd5e1}.signature-canvas-wrap{height:220px;background:#fff;border-radius:2px}.signature-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.signature-upload-zone{height:220px;background:#252a3a;border:1px dashed rgba(255,255,255,.15);border-radius:2px;display:grid;place-items:center}.signature-upload-btn{border:none;background:transparent;color:#94a3b8;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;font-size:14px}.signature-upload-btn:hover{color:#e2e8f0}.signature-toolbar{display:flex;gap:8px;margin-top:12px}.signature-tool-btn{border:1px solid rgba(255,255,255,.25);background:transparent;color:#e2e8f0;border-radius:4px;padding:6px 14px;font-size:13px;cursor:pointer}.signature-tool-btn:hover{background:#ffffff0f}.signature-error{margin-top:10px;color:#fca5a5;font-size:13px}.signature-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:14px 20px 18px;border-top:1px solid rgba(255,255,255,.08)}.signature-modal-footer .link-cancel{color:#cbd5e1;background:transparent;border:none}.signature-submit-btn{display:inline-flex;align-items:center;gap:8px;border:none;background:#fff;color:#111827;border-radius:4px;padding:8px 18px;font-size:14px;font-weight:600;cursor:pointer}.signature-submit-btn:disabled{opacity:.6;cursor:not-allowed}.signature-submit-btn:hover:not(:disabled){background:#f1f5f9}@media (max-width: 900px){.contract-summary-grid{grid-template-columns:1fr}.contract-summary-footer{flex-direction:column;align-items:flex-start}}.page-loading,.empty-state{padding:40px;text-align:center;color:var(--text-soft)}.chart-bars{display:flex;align-items:flex-end;gap:12px;height:220px;padding-top:10px}.chart-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.chart-bar{width:100%;max-width:44px;background:var(--primary);border-radius:6px 6px 0 0;transition:height .3s;min-height:4px}.chart-count{font-size:12px;font-weight:700;color:var(--text-muted)}.chart-label{font-size:11px;color:var(--text-soft);text-align:center}.chart-stage-value{font-size:10px;font-weight:600;color:var(--text-muted);text-align:center}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.projects-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.projects-view-toggles{display:flex;gap:6px}.view-toggle{width:36px;height:36px;border:1px solid var(--border);background:#fff;border-radius:6px;display:grid;place-items:center;color:var(--text-muted);cursor:pointer}.view-toggle.is-active{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}.view-toggle:disabled{opacity:.45;cursor:not-allowed}.member-avatars{display:flex;align-items:center}.member-avatars .avatar{margin-left:-8px;border:2px solid #fff}.member-avatars .avatar:first-child{margin-left:0}.member-avatars-more{margin-left:6px;font-size:12px;color:var(--text-muted);font-weight:600}.project-status-cell{min-width:120px}.project-progress-track{height:6px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin-bottom:6px}.project-progress-fill{height:100%;border-radius:999px}.project-status-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);text-transform:lowercase}.project-form-card .form-section-title{padding:18px 22px 0;font-size:16px;font-weight:700}.form-inline-add{display:flex;gap:8px;align-items:stretch}.form-inline-add .form-control{flex:1;min-width:0}.form-inline-add .btn{white-space:nowrap}.deadline-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.deadline-row .form-control{flex:1;min-width:180px}.checkbox-inline{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);cursor:pointer}.inline-add-row{display:flex;gap:8px;margin-top:8px}.project-settings-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 8px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.project-radio-group .form-label{margin-bottom:8px}.project-radio-options{display:flex;gap:16px;flex-wrap:wrap}.radio-inline{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{border:1px solid var(--border);background:var(--bg);border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer}.other-details-toggle{width:100%;margin-top:18px;border:none;border-top:1px solid var(--border);background:transparent;padding:14px 0;display:flex;justify-content:space-between;font-size:15px;font-weight:600;cursor:pointer;color:var(--text)}.other-details-body{padding-bottom:8px}.file-drop-zone{border:1px dashed var(--border);border-radius:var(--radius);min-height:110px;display:grid;place-items:center;color:var(--text-soft);cursor:pointer;background:var(--bg)}.file-drop-zone:hover{border-color:var(--primary);color:var(--primary)}@media (max-width: 1000px){.project-settings-row{grid-template-columns:1fr}}.project-detail-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.project-detail-top .page-tabs{flex:1;min-width:0;margin-bottom:0}.project-detail-actions{display:flex;align-items:center;gap:10px;padding-bottom:4px}.project-status-pill{display:inline-flex;align-items:center;gap:6px;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:6px 12px;font-size:13px;text-transform:lowercase}.project-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.project-overview-grid.charts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-widget{padding:18px 20px}.project-widget h3{margin:0 0 12px;font-size:15px}.progress-gauge{position:relative;display:grid;place-items:center;margin:8px 0 16px}.progress-gauge-svg{width:180px;height:110px}.progress-gauge-value{position:absolute;bottom:8px;font-size:28px;font-weight:700}.project-date-row{display:flex;justify-content:space-between;gap:12px}.project-date-row span{display:block;font-size:12px;color:var(--text-muted)}.project-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.project-stat-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.project-stat-label{font-size:12px;color:var(--text-muted);margin-bottom:6px}.project-stat-value{font-size:18px;font-weight:700}.text-primary{color:var(--primary)}.text-danger{color:#dc2626}.text-success{color:#16a34a}.invoice-total-cell{font-size:12px;line-height:1.45;white-space:nowrap}.payment-detail-grid{display:grid;gap:14px 0;max-width:720px}.payment-detail-row{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:start;padding:6px 0;border-bottom:1px solid var(--border)}.payment-detail-label{color:var(--text-muted);font-size:13px}.payment-detail-value{color:var(--text);font-size:14px;font-weight:500}.bulk-payment-table{border:1px solid var(--border);border-radius:10px;overflow:auto}.bulk-payment-head,.bulk-payment-row{display:grid;grid-template-columns:120px 140px 150px 1.2fr 1fr 140px 140px;gap:10px;align-items:center;padding:10px 12px;min-width:980px}.bulk-payment-head{background:var(--bg);font-size:12px;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border)}.bulk-payment-row+.bulk-payment-row{border-top:1px solid var(--border)}.expense-status-select{min-width:120px;font-weight:600;border-radius:999px;padding:4px 10px}.bank-type-toggle{display:flex;gap:18px;align-items:center}.radio-inline{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text)}.bank-account-icon{width:28px;height:28px;border-radius:8px;background:#eef2ff;color:var(--primary);display:inline-flex;align-items:center;justify-content:center}.bank-detail-top{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:18px;align-items:start}.bank-summary-card,.bank-recent-card{margin:0;background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px 24px;box-shadow:0 1px 2px #0f172a0a}.bank-summary-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.bank-summary-identity{display:flex;gap:14px;align-items:center;min-width:0}.bank-logo{width:52px;height:52px;border-radius:12px;object-fit:cover;background:#f3f4f6;flex-shrink:0}.bank-logo.placeholder{display:inline-flex;align-items:center;justify-content:center;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}.bank-summary-title{font-size:20px;font-weight:700;color:var(--text);line-height:1.2}.bank-summary-meta{margin-top:4px;font-size:13px;color:var(--text-muted)}.bank-summary-balance{text-align:right;flex-shrink:0}.bank-balance-label{font-size:12px;color:var(--text-muted);margin-bottom:2px}.bank-balance-value{font-size:24px;font-weight:700;color:var(--primary);letter-spacing:-.02em}.bank-action-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}.bank-action-btn{min-height:40px;padding:8px 16px;border-radius:8px;background:#fff;border:1px solid #dbe1ea;color:var(--text);font-weight:600;box-shadow:none}.bank-action-btn:hover{background:#f8fafc;border-color:#cbd5e1}.bank-action-glyph{display:inline-flex;width:16px;justify-content:center;font-size:14px;line-height:1}.bank-chart-wrap{margin:4px 0 18px;border:1px solid #eef2f7;border-radius:10px;padding:14px 12px 10px;background:#fff}.bank-chart-title{font-size:15px;font-weight:700;color:var(--text);margin:0 0 6px 4px}.bank-chart-svg{width:100%;height:auto;display:block}.bank-chart-legend{display:flex;gap:18px;font-size:12px;color:var(--text-muted);margin-top:2px;padding-left:4px}.bank-chart-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.bank-chart-legend i.credit{background:#22c55e}.bank-chart-legend i.debit{background:#ef4444}.bank-statement-btn{border-radius:8px}.bank-recent-title{font-size:15px;font-weight:700;margin-bottom:14px;color:var(--text)}.bank-recent-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.bank-recent-list li{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef2f7}.bank-recent-list li:last-child{border-bottom:0;padding-bottom:0}.bank-recent-idx{width:24px;height:24px;border-radius:50%;background:#f1f5f9;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:#64748b;font-weight:600}.bank-recent-name{font-size:14px;font-weight:600;color:var(--text)}.bank-recent-date{margin-top:2px;font-size:12px;color:var(--text-muted)}.bank-recent-amount{font-size:14px;font-weight:700;white-space:nowrap}.bank-recent-amount.credit{color:#16a34a}.bank-recent-amount.debit{color:#dc2626}.bank-txn-table-wrap{margin-top:18px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:8px;overflow:hidden}.txn-type-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.txn-type-pill.credit{background:#ecfdf3;color:#16a34a}.txn-type-pill.debit{background:#fef2f2;color:#dc2626}@media (max-width: 1000px){.bank-detail-top{grid-template-columns:1fr}}.how-it-works-btn{margin-left:auto;width:34px;height:34px;border-radius:50%;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1200;padding:20px}.modal-card{background:#fff;border-radius:12px;width:min(860px,100%);padding:24px 28px 16px;box-shadow:0 20px 50px #0f172a33}.modal-title{margin:0 0 24px;font-size:20px;font-weight:700;text-align:center}.modal-footer{display:flex;justify-content:flex-end;margin-top:18px}.credit-lifecycle{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:12px 0 8px}.credit-lifecycle-sources{display:grid;gap:12px}.credit-lifecycle-node{border:1px solid var(--border);border-radius:10px;padding:12px 16px;background:#fff;color:var(--text-muted);font-size:13px;font-weight:600;min-width:120px;text-align:center}.credit-lifecycle-node.primary{color:var(--text);border-color:#cbd5e1}.credit-lifecycle-arrow{color:#94a3b8;font-size:18px}.mini-bar-chart{display:flex;align-items:flex-end;justify-content:center;gap:36px;min-height:160px;padding-top:12px}.mini-bar-col{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.mini-bar{width:42px;min-height:4px;border-radius:6px 6px 0 0}.task-pie-wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.task-pie{width:120px;height:120px;border-radius:50%}.task-pie-legend{display:flex;flex-direction:column;gap:6px;font-size:13px}.task-pie-legend-item{display:flex;align-items:center;gap:8px}.inline-panel{border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:14px;background:var(--bg)}.form-control-sm{padding:6px 10px;font-size:13px;max-width:120px}.priority-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;margin-right:8px}.priority-low{background:#ecfdf3;color:#16a34a}.priority-medium{background:#fff7ed;color:#ea580c}.priority-high{background:#fef2f2;color:#dc2626}.task-title-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:none;border:none;padding:0;text-align:left;cursor:pointer}.task-status-cell{display:flex;align-items:center;gap:6px}.task-status-cell .toolbar-select{min-width:110px}.task-view-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap}.task-view-code{font-size:13px;color:var(--text-muted);margin-bottom:4px}.task-view-title{margin:0;font-size:24px;font-weight:700}.task-view-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.task-view-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px}.task-view-main{padding:20px 22px}.task-incomplete-action{margin-bottom:16px}.task-incomplete-action .btn{background:#fff;border:1px solid var(--border);color:var(--text);font-weight:500}.task-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.task-view-field{display:flex;flex-direction:column;gap:6px}.task-view-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.task-view-value{font-size:14px}.task-view-description{margin-top:22px}.with-dot{display:inline-flex;align-items:center;gap:8px}.task-view-side{padding:18px;height:fit-content}.task-side-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.task-side-row:last-child{border-bottom:none}.task-side-row span{color:var(--text-muted)}.task-file-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.task-file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.composer-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.task-history-list{display:flex;flex-direction:column;gap:14px}.task-history-item{display:grid;grid-template-columns:auto 1fr;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}@media (max-width: 900px){.task-view-layout,.task-view-grid{grid-template-columns:1fr}}.board-note{background:#fef9c3;border:1px solid #fde68a;color:#854d0e;border-radius:8px;padding:12px 14px;margin-bottom:14px;font-size:13px}.task-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:14px;overflow-x:auto;padding-bottom:8px}.task-board-column{background:#f8fafc;border:1px solid var(--border);border-radius:10px;min-height:320px;display:flex;flex-direction:column}.task-board-column-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.task-board-count{margin-left:auto;background:#e2e8f0;border-radius:999px;padding:2px 8px;font-size:12px}.task-board-cards{padding:12px;display:flex;flex-direction:column;gap:10px;flex:1}.task-board-card{background:#fff;border:1px solid var(--border);border-left:3px solid #22c55e;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:6px}.task-board-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.task-board-add{border:1px dashed var(--border);background:transparent;border-radius:8px;padding:14px;color:var(--text-muted);cursor:pointer}.task-board-add:hover{border-color:var(--primary);color:var(--primary)}@media (max-width: 1100px){.project-overview-grid,.project-overview-grid.charts,.project-stat-grid{grid-template-columns:1fr 1fr}}@media (max-width: 720px){.project-overview-grid,.project-overview-grid.charts,.project-stat-grid{grid-template-columns:1fr}}@media (max-width: 1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.form-grid.cols-2,.two-col{grid-template-columns:1fr}}@media (max-width: 720px){.sidebar{transform:translate(-100%)}.main-area{margin-left:0}.stat-grid{grid-template-columns:1fr}}.proposal-form .form-body{padding:28px 28px 20px}.proposal-form .form-section-title{padding:18px 28px;font-size:16px}.proposal-form-grid{display:grid;gap:22px 28px;margin-bottom:22px;align-items:start}.proposal-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.proposal-form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.proposal-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.proposal-form-full{margin-bottom:18px}.proposal-form .form-group{min-width:0}.proposal-form .form-label{color:var(--text-muted);font-weight:500;font-size:13px;margin-bottom:2px}.proposal-form .form-control{width:100%;min-height:42px}.proposal-form .rich-editor-lg .rich-editor-body{min-height:140px}.proposal-signature-check{display:inline-flex;align-items:center;gap:10px;margin:4px 0 22px;color:var(--text);font-size:14px}.proposal-product-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px;max-width:380px}.proposal-product-toolbar .form-control{flex:1;min-width:0}.proposal-product-toolbar .btn{white-space:nowrap;flex-shrink:0}.proposal-items-table{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:12px;background:var(--surface)}.proposal-items-head,.proposal-item-row{display:grid;grid-template-columns:minmax(240px,2.2fr) 120px 170px 160px 110px 44px;gap:12px;padding:14px 16px;align-items:start}.proposal-items-head{background:#f8fafc;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border)}.proposal-item-row{border-top:1px solid var(--border)}.proposal-item-row:first-of-type{border-top:none}.proposal-item-desc,.proposal-item-qty,.proposal-item-price{display:flex;flex-direction:column;gap:8px}.proposal-item-amount{min-height:42px;display:flex;align-items:center;justify-content:flex-end;font-weight:600;background:#f3f4f6;border-radius:8px;padding:0 12px}.add-item-btn{margin-bottom:20px;color:var(--primary);padding-left:0}.proposal-totals{max-width:380px;margin-left:auto;margin-bottom:24px;display:flex;flex-direction:column;gap:12px}.proposal-total-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}.proposal-discount-inputs{display:flex;align-items:center;gap:8px}.proposal-discount-inputs .form-control{width:90px}.proposal-total-final{background:#f3f4f6;padding:12px 14px;border-radius:8px;font-weight:700}.checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text);cursor:pointer}.file-dropzone{display:flex;align-items:center;justify-content:center;min-height:88px;border:1px dashed var(--border);border-radius:8px;background:#fafbfd;color:var(--text-muted);font-size:13px;cursor:pointer;padding:12px;text-align:center}.file-dropzone-sm{min-height:68px}.btn-icon{padding:8px;min-width:auto}@media (max-width: 1100px){.proposal-items-head,.proposal-item-row{grid-template-columns:1fr}.proposal-totals{max-width:100%;margin-left:0}.proposal-product-toolbar{max-width:100%}}.proposal-view-card{padding:28px 32px 22px}.proposal-view-top{display:flex;justify-content:space-between;gap:24px;margin-bottom:28px}.proposal-company-logo{width:56px;height:56px;border-radius:12px;background:#f59e0b;color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;margin-bottom:10px}.proposal-company-name{font-size:18px;font-weight:700;margin-bottom:4px}.proposal-company-meta{font-size:13px;color:var(--text-muted);line-height:1.5}.proposal-view-meta{text-align:right;min-width:220px}.proposal-view-heading{font-size:22px;font-weight:800;letter-spacing:.04em;margin-bottom:12px}.proposal-meta-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:14px}.proposal-meta-table td{padding:6px 10px;border:1px solid var(--border)}.proposal-meta-table td:first-child{background:#f8fafc;color:var(--text-muted);font-weight:600;text-align:left;width:40%}.proposal-meta-table td:last-child{text-align:left;font-weight:600}.proposal-view-status{display:inline-block;border:1px solid #f59e0b;color:#f59e0b;font-size:12px;font-weight:700;letter-spacing:.06em;padding:8px 18px;border-radius:6px;text-transform:uppercase}.proposal-view-status.proposal-status-accepted{border-color:#16a34a;color:#16a34a}.proposal-view-status.proposal-status-declined,.proposal-view-status.proposal-status-rejected{border-color:#dc2626;color:#dc2626}.proposal-view-status.proposal-status-waiting{border-color:#ef4444;color:#ef4444}.estimate-view-items .proposal-view-items-head,.estimate-view-items .proposal-view-item{grid-template-columns:minmax(220px,2.2fr) 110px 140px 120px 120px 130px}.proposal-billed-to{margin-bottom:28px;font-size:14px;line-height:1.55}.proposal-billed-label{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.proposal-billed-name{font-weight:700;color:var(--primary);margin-bottom:2px}.proposal-view-description{margin-bottom:20px;font-size:14px;color:var(--text-muted)}.proposal-view-items{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:20px}.proposal-view-items-head,.proposal-view-item{display:grid;grid-template-columns:minmax(220px,2.2fr) 110px 140px 120px 130px;gap:12px;padding:12px 14px;align-items:start}.proposal-view-items-head{background:#f3f4f6;font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase}.proposal-view-item{border-top:1px solid var(--border);font-size:14px}.proposal-item-desc-text{margin-top:6px;font-size:12px;line-height:1.45}.proposal-view-qty{text-align:center}.proposal-view-amount{text-align:right;font-weight:600}.proposal-view-empty{padding:24px;text-align:center;color:var(--text-muted);border-top:1px solid var(--border)}.proposal-view-bottom{display:flex;justify-content:space-between;gap:24px;margin-bottom:24px}.proposal-view-terms{flex:1;max-width:420px}.proposal-terms-label{font-size:13px;font-weight:600;margin-bottom:4px}.proposal-view-totals{min-width:260px}.proposal-view-actions{display:flex;align-items:center;gap:12px;padding-top:8px;border-top:1px solid var(--border)}.proposal-action-dropdown{position:relative}.btn-dark{background:#111827;color:#fff;border:1px solid #111827}.btn-dark:hover{background:#1f2937}.proposal-action-menu{position:absolute;left:0;bottom:calc(100% + 6px);min-width:180px;z-index:20}.finance-report-page{display:flex;flex-direction:column;gap:14px}.fr-toolbar{flex-wrap:wrap}.fr-view-tabs{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}.fr-view-tabs button{border:0;background:transparent;padding:7px 12px;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer}.fr-view-tabs button+button{border-left:1px solid var(--border)}.fr-view-tabs button.active{background:#111827;color:#fff}.fr-duration-text{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}.fr-search-bar{align-items:center}.fr-search-input{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;height:38px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text-muted)}.fr-search-input input{border:0;outline:none;width:100%;background:transparent;font-size:13px;color:var(--text)}.fr-loading{font-size:13px;color:var(--text-muted)}.fr-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fr-kpi-card{background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:18px 18px 16px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.fr-kpi-label{font-size:13px;color:#3b82f6;font-weight:600;margin-bottom:8px}.fr-kpi-value{font-size:22px;font-weight:700;color:#1f2937}.fr-kpi-sub{margin-top:6px;font-size:12px;color:var(--text-muted)}.fr-kpi-icon{width:40px;height:40px;border-radius:10px;background:#f3f4f6;color:#6b7280;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.fr-charts-row{display:grid;grid-template-columns:1.6fr 1fr;gap:14px}.fr-card{background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:16px 18px 18px}.fr-card-half,.fr-card-main,.fr-card-side{min-width:0}.fr-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.fr-card-head h3{margin:0;font-size:16px;font-weight:700}.fr-card-actions{display:flex;align-items:center;gap:8px}.fr-chart-toggle{display:inline-flex;border:1px solid #111827;border-radius:6px;overflow:hidden}.fr-chart-toggle button{border:0;background:#fff;color:#111827;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}.fr-chart-toggle button.active{background:#111827;color:#fff}.fr-svg{width:100%;height:auto;display:block}.fr-axis-text{fill:#9ca3af;font-size:10px}.fr-chart-empty{padding:48px 16px;text-align:center;color:var(--text-muted);font-size:13px}.fr-donut-wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.fr-donut{width:180px;height:180px;flex-shrink:0}.fr-donut-legend{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.fr-donut-legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);min-width:0}.fr-donut-legend-item span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fr-legend-swatch{width:12px;height:8px;border-radius:2px;flex-shrink:0}.fr-legend-row{display:flex;gap:16px;justify-content:flex-end;margin-bottom:4px;font-size:12px;color:var(--text-muted)}.fr-legend-row span{display:inline-flex;align-items:center;gap:6px}.fr-legend-row i{width:12px;height:8px;border-radius:2px;display:inline-block}.fr-hbar-list{display:flex;flex-direction:column;gap:12px;padding:8px 4px 0}.fr-hbar-row{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:center}.fr-hbar-label{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.fr-hbar-track{height:18px;background:#f3f4f6;border-radius:2px;overflow:hidden}.fr-hbar-fill{height:100%;background:#4ade80;border-radius:2px;min-width:2px}.fr-hbar-scale{display:flex;justify-content:space-between;margin-left:152px;font-size:11px;color:#9ca3af}@media (max-width: 1100px){.fr-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fr-charts-row{grid-template-columns:1fr}}@media (max-width: 700px){.fr-kpi-grid,.fr-hbar-row{grid-template-columns:1fr}.fr-hbar-label{text-align:left}.fr-hbar-scale{margin-left:0}}.deal-report-page{display:flex;flex-direction:column;gap:14px}.dr-info-banner{background:#e0f2fe;color:#0c4a6e;border:1px solid #bae6fd;border-radius:8px;padding:12px 14px;font-size:13px}.dr-stage-legend{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:10px;font-size:12px;color:var(--text-muted)}.dr-stage-legend span{display:inline-flex;align-items:center;gap:6px}.dr-stage-legend i{width:14px;height:3px;border-radius:2px;display:inline-block}.expense-report-page{display:flex;flex-direction:column;gap:14px}.er-kpi-row{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:14px;align-items:start}.er-kpi-card{max-width:320px}.er-not-enough{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#9ca3af;font-size:13px}.er-employee-cell{align-items:center}.er-employee-cell .cell-primary{font-size:13px;line-height:1.2}.er-employee-cell .cell-muted{font-size:11px}.task-report-chart-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:28px 20px;margin-bottom:16px;min-height:280px;display:flex;align-items:center;justify-content:center}.task-report-expand{position:absolute;top:12px;right:12px;border:1px solid var(--border);background:#fff;border-radius:6px;width:32px;height:32px;cursor:pointer;color:var(--text-muted)}.task-report-pie-wrap{display:flex;align-items:center;justify-content:center;gap:36px;flex-wrap:wrap;width:100%}.task-report-pie{width:220px;height:220px;max-width:100%}.task-report-legend{display:flex;flex-direction:column;gap:10px;min-width:180px}.task-report-legend-item{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text)}.task-report-legend-item strong{margin-left:auto;font-weight:600}.task-report-legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.task-report-pie-empty{text-align:center;color:var(--text-muted)}.task-report-pie-empty-circle{width:180px;height:180px;margin:0 auto 14px;border-radius:50%;border:18px solid #e5e7eb;box-sizing:border-box}.task-report-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.cell-user{display:inline-flex;align-items:center;gap:8px}.events-page{display:flex;flex-direction:column;gap:16px}.ws-events-filters{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 16px;box-shadow:var(--shadow)}.ws-filter{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px;color:var(--text-muted);white-space:nowrap}.ws-filter select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:88px;height:34px;padding:0 28px 0 10px;border:1px solid var(--border);border-radius:6px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b778c' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center;font-size:13px;color:var(--text);outline:none;cursor:pointer}.ws-filter select:focus{border-color:var(--primary)}.ws-events-search{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;max-width:420px;height:34px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text-muted)}.ws-events-search input{border:0;outline:none;width:100%;background:transparent;font-size:13px;color:var(--text)}.ws-events-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.ws-events-actions-left{display:flex;flex-wrap:wrap;gap:10px}.ws-layout-toggle{display:inline-flex;border-radius:6px;overflow:hidden;border:1px solid #1f2937}.ws-layout-toggle button{width:36px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;background:#fff;color:#1f2937;cursor:pointer}.ws-layout-toggle button+button{border-left:1px solid #1f2937}.ws-layout-toggle button.active{background:#1f2937;color:#fff}.ws-cal-card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.ws-cal-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.ws-cal-nav{display:flex;align-items:center;gap:6px}.ws-cal-nav-btn,.ws-cal-today{height:32px;min-width:32px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font-size:14px;cursor:pointer}.ws-cal-nav-btn:hover,.ws-cal-today:hover{background:#f8fafc}.ws-cal-today{font-size:13px;text-transform:lowercase}.ws-cal-title{margin:0;font-size:18px;font-weight:600;color:#1f2937;text-align:center}.ws-cal-views{display:inline-flex;justify-self:end;border:1px solid #1f2937;border-radius:6px;overflow:hidden}.ws-cal-views button{border:0;background:#fff;color:#4b5563;padding:7px 14px;font-size:13px;text-transform:lowercase;cursor:pointer}.ws-cal-views button+button{border-left:1px solid #e5e7eb}.ws-cal-views button.active{background:#1f2937;color:#fff}.ws-cal-loading{padding:10px 16px;font-size:13px;color:var(--text-muted);border-bottom:1px solid var(--border)}.ws-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--border);background:#fff}.ws-cal-weekday{padding:10px 8px;text-align:center;font-size:12px;font-weight:700;color:#374151;letter-spacing:.02em}.ws-cal-days{display:grid}.ws-cal-days-month{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(118px,1fr)}.ws-cal-days-week{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(420px,1fr)}.ws-cal-days-day{grid-template-columns:1fr;min-height:420px}.ws-cal-day{position:relative;min-height:118px;padding:6px 6px 8px;border-right:1px solid #eef0f3;border-bottom:1px solid #eef0f3;background:#fff;cursor:pointer;transition:background .12s ease}.ws-cal-day:hover{background:#fafbfd}.ws-cal-days-month .ws-cal-day:nth-child(7n),.ws-cal-days-week .ws-cal-day:nth-child(7n){border-right:0}.ws-cal-day.is-other{background:#fcfcfd;color:#9ca3af}.ws-cal-day.is-other .ws-cal-daynum{color:#c0c4cc}.ws-cal-daynum{display:flex;justify-content:flex-end;margin-bottom:4px;font-size:13px;font-weight:500;color:#6b7280;line-height:1.2}.ws-cal-today-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#1d4ed8;color:#fff;font-weight:600;font-size:12px}.ws-cal-day-events{display:flex;flex-direction:column;gap:2px;min-width:0}.ws-cal-event{display:flex;align-items:center;gap:5px;width:100%;max-width:100%;padding:1px 2px;border:0;border-radius:3px;background:transparent;text-align:left;cursor:pointer;min-width:0}.ws-cal-event:hover{background:#eff6ff}.ws-cal-event-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ws-cal-event-text{font-size:11.5px;line-height:1.25;color:#2563eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ws-cal-more{font-size:11px;color:#6b7280;padding:1px 2px}.ws-cal-list{overflow:auto}.ws-cal-list table{width:100%;border-collapse:collapse}.ws-cal-list th,.ws-cal-list td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;font-size:13px}.ws-cal-list th{background:#fafbfd;color:var(--text-muted);font-weight:600}.ws-cal-empty{text-align:center;color:var(--text-muted);padding:28px!important}.ws-cal-link{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:#2563eb;cursor:pointer;padding:0;font:inherit}.events-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.events-status:before{content:"";width:8px;height:8px;border-radius:50%;background:#f59e0b}.events-status-completed:before{background:#10b981}.events-status-cancelled:before{background:#ef4444}.proposal-form-grid-1{grid-template-columns:1fr}.event-color-row{display:flex;align-items:center;gap:8px}.event-color-row .form-control{flex:1;min-width:0}.event-color-picker{width:42px;height:42px;padding:2px;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;flex-shrink:0}.event-color-swatch{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);flex-shrink:0}.event-color-presets{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.event-color-preset{width:18px;height:18px;border-radius:4px;border:1px solid rgba(0,0,0,.08);cursor:pointer;padding:0}.event-color-preset.active{outline:2px solid var(--primary);outline-offset:1px}.status-dot{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:#f59e0b;pointer-events:none;z-index:1}.status-dot-completed{background:#10b981}.status-dot-cancelled{background:#ef4444}.status-dot-pending{background:#f59e0b}@media (max-width: 900px){.ws-cal-toolbar{grid-template-columns:1fr}.ws-cal-title{text-align:left}.ws-cal-views{justify-self:start}.ws-cal-days-month,.ws-cal-days-week{grid-template-columns:1fr}.ws-cal-weekdays{display:none}.ws-cal-day{min-height:88px}.ws-cal-daynum{justify-content:flex-start}}@media (max-width: 900px){.proposal-form-grid-3,.proposal-form-grid-4,.proposal-form-grid-2{grid-template-columns:1fr}.proposal-view-top,.proposal-view-bottom{flex-direction:column}.proposal-view-meta{text-align:left}.proposal-view-items-head,.proposal-view-item{grid-template-columns:1fr}}@media (max-width: 1100px){.proposal-items-head,.proposal-item-row{grid-template-columns:1fr}.proposal-totals{max-width:100%;margin-left:0}}.settings-page{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;align-items:start}.settings-nav{background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:10px;overflow:hidden}.settings-nav-search{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border, #e5e7eb);color:var(--text-muted)}.settings-nav-search input{border:0;outline:none;width:100%;font-size:13px;background:transparent;color:var(--text)}.settings-nav nav{display:flex;flex-direction:column;padding:6px 0}.settings-nav-item{display:block;padding:11px 16px;font-size:13.5px;color:var(--text);text-decoration:none;border-left:3px solid transparent}.settings-nav-item:hover{background:#f8fafc}.settings-nav-item.active{background:#eef2ff;color:#1e3a8a;font-weight:600;border-left-color:#3b82f6}.settings-nav-empty{padding:14px 16px;font-size:13px;color:var(--text-muted)}.settings-content{min-width:0}.settings-panel{display:flex;flex-direction:column;gap:0}.settings-table-wrap{overflow-x:auto}.settings-table{width:100%;border-collapse:collapse;font-size:13.5px}.settings-table th,.settings-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border, #e5e7eb);vertical-align:middle}.settings-table th{font-size:12px;font-weight:600;color:var(--text-muted);background:#fafbfc}.settings-table-empty{text-align:center;color:var(--text-muted);padding:28px 14px!important}.settings-default-radio{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer}.settings-row-actions{display:inline-flex;align-items:center;gap:6px}.settings-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:20px}.settings-modal{width:min(820px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:10px;box-shadow:0 20px 50px #0f172a40;display:flex;flex-direction:column}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, #e5e7eb)}.settings-modal-header h2{margin:0;font-size:18px;font-weight:600}.settings-modal-close{border:0;background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;padding:4px;border-radius:6px}.settings-modal-close:hover{background:#f3f4f6;color:var(--text)}.settings-modal-body{padding:18px 20px 8px}.settings-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:14px 20px 18px;border-top:1px solid var(--border, #e5e7eb)}.settings-map-hint{margin-top:8px;padding:10px 12px;background:#f3f4f6;border-radius:6px;font-size:12.5px;color:var(--text-muted)}@media (max-width: 900px){.settings-page{grid-template-columns:1fr}}.settings-profile-card{padding:0;overflow:hidden}.settings-profile-body{padding:14px 16px 16px}.settings-profile-body .form-card{border:0;box-shadow:none;padding:0}.settings-profile-body .form-body{padding:0}.settings-profile-body .form-footer{padding:18px 0 0;border-top:0}.settings-avatar-box{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:#fafbfc}.settings-avatar-img,.settings-avatar-placeholder{width:72px;height:72px;border-radius:8px;object-fit:cover;flex-shrink:0}.settings-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#374151;font-weight:700;font-size:20px}.settings-avatar-actions{display:flex;gap:8px}.settings-name-row{display:grid;grid-template-columns:90px 1fr;gap:8px}.settings-password-wrap{position:relative}.settings-password-wrap .form-control{padding-right:40px}.settings-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;padding:4px}.settings-radio-row{display:flex;align-items:center;gap:18px;min-height:38px}.settings-radio{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;cursor:pointer}.field-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.settings-modal-sm{width:min(480px,100%)}.settings-upload-zone{width:100%;min-height:110px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:13.5px}.settings-upload-zone:hover{border-color:#93c5fd;background:#eff6ff}.settings-upload-zone.is-invalid{border-color:#fca5a5}.settings-docs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 16px;color:var(--text-muted);font-size:13.5px}.btn-link-add{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--primary, #2563eb);font-weight:600;font-size:13.5px;cursor:pointer;padding:0}.btn-link-add:hover{text-decoration:underline}@media (max-width: 900px){.settings-name-row,.proposal-form-grid-3{grid-template-columns:1fr}}
