:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--bg-color: #f8fafc;--surface-color: #ffffff;--text-main: #0f172a;--text-muted: #64748b;--border-color: #e2e8f0;--error-color: #ef4444;--success-color: #22c55e;--font-family: "Inter", system-ui, -apple-system, sans-serif;--border-radius: 8px;--transition-speed: .2s}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.w-full{width:100%}.h-full{height:100%}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-card{background-color:var(--surface-color);max-width:400px;width:100%;padding:2rem;border-radius:var(--border-radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.brand-mark{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#fef3c7,#fde68a);box-shadow:0 10px 20px -16px #a16207b3}.brand-mark-image{display:block;width:100%;height:100%}.auth-brand-mark{width:88px;height:88px;margin:0 auto 1rem;padding:.75rem;border-radius:24px}.auth-title{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--text-main)}.field-hint{margin-top:.4rem;font-size:.8rem;color:var(--text-muted)}.form-input{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;font-family:inherit;transition:border-color var(--transition-speed)}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.btn-primary{width:100%;padding:.75rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-speed)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.error-message{color:var(--error-color);font-size:.875rem;text-align:center;margin-bottom:1rem}.projects-layout{height:100vh;display:flex;flex-direction:column;background-color:var(--bg-color);overflow:hidden}.projects-header{padding:1rem 1.5rem;background-color:var(--surface-color);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 2px #0000000d;flex-shrink:0}.projects-brand{display:flex;align-items:center;gap:.875rem}.projects-brand-mark{width:48px;height:48px;padding:.35rem;border-radius:16px}.projects-title{font-size:1.25rem;font-weight:600;color:var(--text-main);margin:0}.header-menu{position:relative}.menu-trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;background-color:#fff;color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;font-weight:500;cursor:pointer}.menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:180px;background-color:#fff;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 16px 30px -18px #0f172a59;overflow:hidden;z-index:20}.menu-item{width:100%;display:flex;align-items:center;gap:.65rem;padding:.8rem .95rem;border:none;background:#fff;color:var(--text-main);font-size:.875rem;text-align:left;cursor:pointer}.menu-item:hover{background-color:#f8fafc}.menu-item-danger{border-top:1px solid var(--border-color)}.filters-bar{padding:1rem 1.5rem;background:linear-gradient(135deg,#fff8dc,#fff 45%,#f8fafc);border-bottom:1px solid var(--border-color);box-shadow:inset 0 -1px #e2e8f099}.filters-grid{display:grid;grid-template-columns:minmax(100px,350px) repeat(2,minmax(100px,180px)) 175px 100px 100px repeat(2,minmax(100px,150px));gap:.9rem;align-items:end;justify-content:start;max-width:1560px}.filter-group{display:flex;flex-direction:column;gap:.35rem}.filter-input-wrap{position:relative}.suggestion-panel{position:absolute;top:calc(100% + .35rem);left:0;right:0;max-height:240px;overflow:auto;border:1px solid #e7d7a7;border-radius:14px;background:linear-gradient(180deg,#fffef8,#fff9e8);box-shadow:0 20px 35px -24px #0f172a73;z-index:30}.suggestion-panel-table{min-width:220px;top:auto;bottom:calc(100% + .35rem)}.suggestion-item{width:100%;padding:.7rem .85rem;border:none;border-bottom:1px solid rgba(231,215,167,.7);background:transparent;color:var(--text-main);font-size:.9rem;text-align:left;cursor:pointer}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:linear-gradient(135deg,#fde68a,#fef3c7)}.filter-group-wide{min-width:0}.filter-label{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#7c5a10}.filter-input{width:100%;min-height:42px;padding:.6rem .8rem;border:1px solid #e7d7a7;border-radius:12px;background-color:#fffffff5;font-size:.92rem;font-family:inherit;color:var(--text-main);transition:border-color var(--transition-speed),box-shadow var(--transition-speed),background-color var(--transition-speed)}.filter-input-wrap .filter-input{padding-right:2.4rem}.filter-input:focus{outline:none;border-color:#d4a72c;box-shadow:0 0 0 4px #facc1533}.filter-input::-webkit-datetime-edit{color:var(--text-main)}.filter-input.is-empty-date::-webkit-datetime-edit{color:#94a3b8}.filter-clear-button{position:absolute;top:50%;right:.55rem;transform:translateY(-50%);width:1.55rem;height:1.55rem;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background-color:#f1f5f9;color:#64748b;cursor:pointer}.filter-clear-button:hover{background-color:#e2e8f0;color:#0f172a}.segmented-toggle{display:inline-flex;min-height:42px;border:1px solid #e7d7a7;border-radius:14px;background-color:#ffffffeb}.segment-button{border:none;background:transparent;color:var(--text-muted);padding:.55rem .85rem;border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;transition:background-color var(--transition-speed),color var(--transition-speed),box-shadow var(--transition-speed)}.segment-button-active{background:linear-gradient(135deg,#facc15,#f59e0b);color:#4a3100;box-shadow:0 8px 14px -12px #b45309cc}.table-container{flex:1;min-height:0;overflow:auto}.data-table{width:max-content;min-width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.data-table th{position:sticky;top:0;background-color:#f1f5f9;z-index:10;font-size:.75rem;text-transform:uppercase;font-weight:600;color:var(--text-muted);padding:.5rem .25rem;border-bottom:2px solid var(--border-color);border-right:1px solid var(--border-color)}.sort-header-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.35rem;border:none;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;padding:.1rem 0}.centered-column .sort-header-button{justify-content:center}.sort-header-button-active{color:#92400e}.sort-header-icon{font-size:.8rem;line-height:1;opacity:.8}.data-table td{padding:0;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);font-size:.875rem;color:var(--text-main);position:relative;height:32px}.data-table tr{transition:background-color var(--transition-speed)}.data-table tr:hover{background-color:#f8fafc}.data-table tr:hover .static-column{background-color:#fdf7dc}.data-table tr:hover .date-column{background-color:#f8fafc}.data-table tr:hover .order-date-column{background-color:#fdf7dc}.cell-content{padding:.25rem .5rem;display:flex;align-items:center;height:100%;cursor:pointer}.centered-cell-content{justify-content:center;text-align:center}.table-input{width:100%;height:100%;border:none;background-color:transparent;padding:.25rem .5rem;font-family:inherit;font-size:.875rem;color:var(--text-main);outline:none}.centered-input{text-align:center}.table-input::-webkit-datetime-edit{color:var(--text-main)}.table-input.is-empty-date::-webkit-datetime-edit{color:#94a3b8}.table-input.is-filled-date{background-color:#dcfce7}.table-input.is-filled-date::-webkit-datetime-edit{color:#166534}.table-input.is-order-date{background-color:#fef3c7}.table-input.is-order-date::-webkit-datetime-edit{color:#92400e}.table-input:focus{background-color:#fff;box-shadow:inset 0 0 0 2px var(--primary-color)}.table-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.table-input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.static-column{background-color:#fffbeb}.date-column{background-color:var(--surface-color)}.order-date-column{background-color:#fef3c7;color:#92400e}.data-table th.static-column{background-color:#fef3c7}.data-table tfoot td{background-color:#fffdf3;border-top:2px solid #f5deb0}.traditional-table{min-width:2536px}.new-row-input{min-height:42px;background-color:#fffef8}.new-row-checkbox{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .5rem;font-size:.85rem;color:var(--text-main)}.create-row-button{width:34px;height:34px;border:none;border-radius:999px;background:linear-gradient(135deg,#facc15,#f59e0b);color:#4a3100;font-size:1.2rem;font-weight:700;cursor:pointer;box-shadow:0 10px 18px -14px #b45309e6}.boolean-badge{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.01em}.boolean-badge-true{background-color:#dcfce7;color:#166534}.boolean-badge-false{background-color:#fee2e2;color:#991b1b}.edit-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color var(--transition-speed),background-color var(--transition-speed)}.edit-btn:hover{color:var(--text-main);background-color:var(--border-color)}.modal-overlay{position:fixed;inset:0;background-color:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background-color:var(--surface-color);border-radius:var(--border-radius);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.import-modal{max-width:980px}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.25rem;font-weight:600;margin:0}.modal-body{padding:1.5rem;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-footer{padding:1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:.75rem;background-color:#f8fafc;border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}.modal-footer-left,.modal-footer-right{display:flex;align-items:center;gap:.75rem}.import-preview-wrap{max-height:60vh;overflow:auto;padding:0 1.5rem 1.5rem}.import-preview-table{width:100%;border-collapse:collapse;font-size:.875rem}.import-preview-table th{position:sticky;top:0;background-color:#f8fafc;text-align:left;padding:.75rem;border-bottom:1px solid var(--border-color)}.import-preview-table td{padding:.75rem;border-bottom:1px solid var(--border-color);vertical-align:top}.import-confirm-button{width:auto}.btn-secondary{padding:.5rem 1rem;background-color:#fff;color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-speed)}.btn-secondary:hover{background-color:#f1f5f9;border-color:#cbd5e1}.btn-danger{padding:.5rem 1rem;background-color:#dc2626;color:#fff;border:none;border-radius:var(--border-radius);font-size:.875rem;font-weight:600;cursor:pointer}.btn-danger:hover{background-color:#b91c1c}.icon-danger-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #fecaca;border-radius:999px;background-color:#fff;color:#dc2626;cursor:pointer}.icon-danger-button:hover{background-color:#fef2f2;border-color:#fca5a5}.modal-body .form-group{margin-bottom:0}.modal-body .form-group.full-width{grid-column:span 2}@media(max-width:640px){.projects-header{padding:1rem;gap:.75rem;align-items:flex-start;flex-direction:column}.projects-brand-mark{width:42px;height:42px}.filters-bar{padding:1rem}.filters-grid{grid-template-columns:1fr}.table-container{overflow:auto}}
