.landing-container{background-color:#f8fafc;background-image:radial-gradient(at 0% 0%,rgba(249,115,22,.04) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(37,99,235,.04) 0px,transparent 50%),radial-gradient(at 50% 100%,rgba(249,115,22,.03) 0px,transparent 50%);color:#0f172a;min-height:100vh;display:flex;flex-direction:column;--bg-card: #ffffff;--steel-border: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--primary: #0f172a;--primary-hover: #1e293b}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:20px 80px;background:#fffc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--steel-border)}.landing-nav-logo{display:flex;align-items:center;gap:10px;font-family:var(--font-title);font-weight:800;font-size:22px;color:var(--primary)}.landing-nav-logo span{color:var(--accent)}.landing-nav-links{display:flex;gap:16px}.landing-container .btn-primary{background:var(--accent);color:#fff}.landing-container .btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 20px #f9731640}.landing-container .btn-secondary{background:#fff;color:var(--primary);border:1px solid var(--steel-border)}.landing-container .btn-secondary:hover{background:var(--bg-secondary);border-color:var(--primary);transform:translateY(-2px)}.landing-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;text-align:left;padding:100px 80px 80px;gap:60px;max-width:1280px;margin:0 auto}.landing-hero-content{display:flex;flex-direction:column;gap:24px}.landing-hero h1{font-size:54px;line-height:1.15;font-weight:850;font-family:var(--font-title);background:linear-gradient(135deg,#0f172a 30%,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-hero h1 span{background:linear-gradient(135deg,var(--accent) 0%,#ff8c00 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-hero p{font-size:18px;color:var(--text-secondary);line-height:1.6}.landing-hero-btns{display:flex;gap:16px;margin-top:10px}.landing-hero-image-wrapper{position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 15px 35px #0f172a14;border:1px solid var(--steel-border);transition:transform .4s ease}.landing-hero-image-wrapper:hover{transform:scale(1.02)}.landing-hero-image{width:100%;height:auto;display:block}.landing-features{padding:100px 80px;background:#f1f5f980;border-top:1px solid var(--steel-border);border-bottom:1px solid var(--steel-border)}.section-title{text-align:center;font-size:36px;margin-bottom:50px;font-family:var(--font-title);color:var(--text-primary)}.section-title span{color:var(--accent)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1200px;margin:0 auto}.feature-card{padding:35px 30px;display:flex;flex-direction:column;gap:16px;background:var(--bg-card);border:1px solid var(--steel-border);border-radius:var(--radius-lg);box-shadow:0 4px 20px #0f172a05;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1)}.feature-card:hover{transform:translateY(-6px);border-color:#f973164d;box-shadow:0 12px 30px #f9731614}.feature-icon-wrapper{width:50px;height:50px;border-radius:12px;background:#f9731614;color:var(--accent);display:flex;align-items:center;justify-content:center;border:1px solid rgba(249,115,22,.15)}.feature-card h3{font-size:20px;font-family:var(--font-title);color:var(--text-primary)}.feature-card p{color:var(--text-secondary);font-size:14px;line-height:1.5}.landing-preview{padding:100px 80px;text-align:center;background:#fff;border-bottom:1px solid var(--steel-border)}.preview-subtitle{font-size:16px;color:var(--text-secondary);max-width:600px;margin:-30px auto 40px}.preview-image-wrapper{max-width:1000px;margin:0 auto;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 20px 50px #0f172a14;border:1px solid var(--steel-border)}.preview-image{width:100%;height:auto;display:block}.landing-pricing{padding:100px 40px;max-width:1200px;margin:0 auto;width:100%}.pricing-simulator{max-width:800px;margin:0 auto 60px;padding:35px;border-radius:var(--radius-xl);background:#fff;border:1px solid #e2e8f0;box-shadow:0 10px 40px #0f172a0a;display:flex;flex-direction:column;gap:28px}.simulator-title{text-align:center;font-size:22px;color:var(--text-primary);font-family:var(--font-title);font-weight:700;margin-bottom:5px}.simulator-controls{display:grid;grid-template-columns:1fr 1fr;gap:40px}@media (max-width: 768px){.simulator-controls{grid-template-columns:1fr;gap:24px}}.control-group{display:flex;flex-direction:column;gap:12px}.control-label{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--text-secondary);font-weight:600}.control-value{color:var(--accent);font-weight:800;font-size:18px;background:#f973160f;padding:4px 12px;border-radius:6px;border:1px solid rgba(249,115,22,.15)}.slider-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--radius-full);background:#e2e8f0;outline:none;transition:background .3s}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--accent);cursor:pointer;border:3px solid #ffffff;box-shadow:0 0 12px #f9731659;transition:transform .15s cubic-bezier(.175,.885,.32,1.275)}.slider-input::-webkit-slider-thumb:hover{transform:scale(1.25)}.recommendation-panel{text-align:center;padding:18px;background:#f973160d;border:1px solid rgba(249,115,22,.12);border-radius:var(--radius-md);font-size:16px;font-weight:600;color:var(--text-primary);animation:pulse-glow 3s infinite ease-in-out}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #f9731605}50%{box-shadow:0 0 20px #f973161a;border-color:#f9731640}}.recommendation-panel span{color:var(--accent);font-weight:850;text-transform:uppercase}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;align-items:stretch}.price-card{padding:45px 35px;display:flex;flex-direction:column;gap:28px;position:relative;overflow:hidden;background:var(--bg-card);border:1px solid var(--steel-border);border-radius:var(--radius-lg);transition:all .4s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 25px #0f172a08}.price-card:hover{transform:translateY(-6px);border-color:#0000001a}.price-card.recommended-plan{border-color:var(--accent);box-shadow:0 0 30px #f9731626;background:#fff;transform:scale(1.02)}.price-card.recommended-plan:hover{box-shadow:0 0 35px #f9731638;transform:scale(1.04) translateY(-4px)}.popular-badge{position:absolute;top:15px;right:15px;background:var(--accent);color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;padding:5px 12px;border-radius:4px;font-family:var(--font-title);letter-spacing:.05em}.price-header h3{font-size:24px;margin-bottom:8px;color:var(--text-primary)}.price-header p{color:var(--text-secondary);font-size:13px}.price-amount{font-size:38px;font-family:var(--font-title);font-weight:850;color:var(--text-primary)}.price-amount span{font-size:14px;color:var(--text-secondary);font-weight:500}.price-features{display:flex;flex-direction:column;gap:14px;list-style:none;font-size:14px;color:var(--text-secondary)}.price-features li{display:flex;align-items:center;gap:10px}.price-features li span{color:var(--status-success);font-weight:700}.price-btn{width:100%;margin-top:auto}.landing-footer{margin-top:auto;padding:40px;text-align:center;border-top:1px solid var(--steel-border);color:var(--text-muted);font-size:13px;background:#fff}@media (max-width: 992px){.landing-hero{grid-template-columns:1fr;text-align:center;padding:60px 40px;gap:40px}}@media (max-width: 768px){.landing-nav{padding:20px}.landing-hero h1{font-size:38px}.landing-features,.landing-preview{padding:60px 20px}.pricing-simulator{padding:24px}}.login-container{display:flex;min-height:100vh;background-color:#f8fafc;background-image:radial-gradient(at 0% 0%,rgba(249,115,22,.04) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(37,99,235,.04) 0px,transparent 50%);align-items:center;justify-content:center;padding:20px;color:#0f172a;--bg-card: #ffffff;--steel-border: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--primary: #0f172a;--primary-hover: #1e293b}.login-card{width:100%;max-width:520px;padding:40px;display:flex;flex-direction:column;gap:24px;background:var(--bg-card);border:1px solid var(--steel-border);border-radius:var(--radius-xl);box-shadow:0 10px 40px #0f172a0d;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.login-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.login-logo{width:52px;height:52px;border-radius:14px;background:#f973160f;color:var(--accent);display:flex;align-items:center;justify-content:center;border:1px solid rgba(249,115,22,.2)}.login-header h2{font-size:26px;font-family:var(--font-title);font-weight:850;color:var(--text-primary);letter-spacing:-.02em}.login-tabs{display:flex;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;padding:4px}.login-tab-btn{flex:1;background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-title);font-weight:600;font-size:14px;padding:10px;border-radius:8px;cursor:pointer;transition:all .2s ease}.login-tab-btn.active{background:#fff;color:var(--accent);font-weight:700;box-shadow:0 2px 6px #0000000a}.login-form{display:flex;flex-direction:column;gap:18px}.login-container .form-input,.login-container .form-select{background:#fff;border:1px solid #cbd5e1;color:var(--text-primary);border-radius:var(--radius-default);padding:12px 16px;font-size:14px;transition:all .2s ease}.login-container .form-input:focus,.login-container .form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f973161a;background:#fff}.login-container option{background-color:#fff;color:var(--text-primary)}.login-error{background:#ef44440d;color:#ef4444;border:1px solid rgba(239,68,68,.15);border-radius:8px;padding:12px;font-size:13px;font-weight:500;text-align:center}.login-container .btn-primary{background:var(--accent);color:#fff;font-weight:700;width:100%;margin-top:10px}.login-container .btn-primary:hover{background:var(--accent-hover);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #f9731633}.login-container .btn-secondary{background:#fff;color:var(--text-secondary);border:1px solid var(--steel-border)}.login-container .btn-secondary:hover{background:var(--bg-secondary);transform:translateY(-2px)}.login-footer{text-align:center;font-size:13px;color:var(--text-muted)}.login-footer span{color:var(--accent);cursor:pointer;font-weight:600;text-decoration:underline}@media (max-width: 576px){.login-card{padding:28px 24px}.form-row{grid-template-columns:1fr;gap:18px}}.password-input-container{position:relative;display:flex;align-items:center;width:100%}.password-input-container .form-input{width:100%;padding-right:44px}.password-toggle-btn{position:absolute;right:8px;background:none;border:none;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:var(--radius-default);transition:all .2s ease}.password-toggle-btn:hover{color:var(--text-primary);background-color:#0000000a}.sidebar{background:var(--bg-card);border:1px solid var(--steel-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:calc(100vh - 32px);margin:16px 0 16px 16px;position:sticky;top:16px;z-index:100;width:260px;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:var(--card-shadow)}.sidebar-header{padding:20px 24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--steel-border)}.logo-container{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--accent-soft);border:1px solid rgba(249,115,22,.25);border-radius:var(--radius-md);color:var(--accent)}.logo-text h2{font-size:17px;color:var(--primary);font-family:var(--font-title);font-weight:800;line-height:1.2}.logo-text span{font-size:10px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.sidebar-menu{flex:1;padding:20px 14px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.menu-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:transparent;border:none;width:100%;text-align:left;color:var(--text-secondary);text-decoration:none;font-family:var(--font-title);font-weight:600;font-size:13.5px;border-radius:var(--radius-default);transition:all .2s cubic-bezier(.16,1,.3,1);cursor:pointer;outline:none}.menu-item:hover{background:#0f172a0a;color:var(--primary);transform:translate(2px)}.menu-item.active{background:var(--accent-soft);color:var(--accent);border-left:3px solid var(--accent);border-radius:var(--radius-default)}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--steel-border);display:flex;flex-direction:column;gap:12px;background:transparent}.user-info{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-secondary);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-title);border:1px solid var(--steel-border)}.user-details{display:flex;flex-direction:column;overflow:hidden}.user-name{font-weight:600;font-size:13px;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-role{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.logout-btn{width:100%;padding:10px;display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px solid var(--steel-border);color:var(--text-secondary);border-radius:var(--radius-default);font-family:var(--font-title);font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease}.logout-btn:hover{background:#ef44440d;border-color:#ef44444d;color:var(--status-danger)}.header{height:70px;background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--steel-border);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:99}.header-search-container{display:flex;align-items:center;gap:10px;background:var(--bg-secondary);border:1px solid var(--steel-border);border-radius:var(--radius-default);padding:0 16px;width:340px;height:40px;transition:all .2s cubic-bezier(.16,1,.3,1)}.header-search-container:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff}.header-search-container .search-icon{color:var(--steel);flex-shrink:0}.header-search-input{border:none;background:transparent;outline:none;width:100%;font-family:var(--font-body);font-size:14px;color:var(--text-primary)}.header-search-input::placeholder{color:var(--text-muted)}.header-actions{display:flex;align-items:center;gap:16px}.alert-bell-btn,.header-icon-btn{position:relative;width:40px;height:40px;border-radius:var(--radius-default);background:transparent;border:none;color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.alert-bell-btn:hover,.header-icon-btn:hover{background:var(--bg-secondary);color:var(--accent)}.header-alert-count{position:absolute;top:4px;right:4px;width:16px;height:16px;background:var(--status-danger);color:#fff;border-radius:50%;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;border:1px solid var(--bg-card)}.notif-dropdown-menu{position:absolute;top:55px;right:0;width:320px;background:#fff;border:1px solid var(--steel-border);border-radius:var(--radius-lg);box-shadow:var(--hover-shadow);padding:16px;z-index:1000;display:flex;flex-direction:column;gap:12px;animation:slideIn .25s cubic-bezier(.16,1,.3,1)}@keyframes slideIn{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.notif-dropdown-header{font-family:var(--font-title);font-weight:700;font-size:14px;color:var(--text-primary);border-bottom:1px solid rgba(75,82,109,.1);padding-bottom:8px}.notif-dropdown-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.notif-dropdown-item{display:flex;gap:10px;padding:10px;border-radius:var(--radius-default);background:var(--bg-secondary);font-size:12.5px;color:var(--text-secondary);border-left:3px solid var(--status-danger);transition:background-color .2s ease}.notif-dropdown-item:hover{background:var(--steel-light)}.notif-dropdown-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:12px}.header-divider{width:1px;height:32px;background:var(--steel-border);margin:0 8px}.header-profile-badge{display:flex;align-items:center;gap:12px}.profile-details{display:flex;flex-direction:column;text-align:right}.profile-name{font-family:var(--font-title);font-weight:700;font-size:14px;color:var(--primary)}.profile-role{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:.05em;margin-top:2px}.profile-avatar-container{position:relative;display:flex;align-items:center;justify-content:center}.profile-avatar{width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary),var(--primary-container));color:#fff;font-family:var(--font-title);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;border:1px solid var(--steel-border)}.datatable{background:var(--bg-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--steel-border);border-radius:16px;box-shadow:var(--card-shadow);overflow:hidden;display:flex;flex-direction:column;transition:all .3s ease}.datatable:hover{border-color:#ffb30033}.datatable-header{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--steel-border);gap:16px;flex-wrap:wrap}.datatable-title{font-size:16px;font-family:var(--font-title);color:var(--text-primary);font-weight:700}.datatable-subtitle{font-size:12px;color:var(--text-muted)}.datatable-actions{display:flex;align-items:center;gap:12px}.datatable-table-wrapper{overflow-x:auto;width:100%}.datatable-table{width:100%;border-collapse:collapse;text-align:left}.datatable-table th{padding:16px 24px;font-family:var(--font-title);color:var(--text-secondary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--steel-border);background:#0a0b1033}.datatable-table td{padding:16px 24px;font-size:14px;border-bottom:1px solid rgba(75,82,109,.1);color:var(--text-primary)}.datatable-table tr{transition:background-color .2s ease}.datatable-table tr:hover td{background-color:#4b526d0a}.datatable-empty{text-align:center!important;color:var(--text-muted);padding:40px!important}.datatable-footer{padding:16px 24px;border-top:1px solid var(--steel-border);display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-secondary);flex-wrap:wrap;gap:16px}.datatable-pagination{display:flex;align-items:center;gap:12px}.datatable-page-btn{background:#4b526d26;border:1px solid var(--steel-border);color:var(--text-primary);width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.datatable-page-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.datatable-page-btn:disabled{opacity:.4;cursor:not-allowed}.datatable-page-indicator{font-family:var(--font-title);font-weight:600;font-size:13px}.map-widget-container{display:flex;flex-direction:column;gap:12px;width:100%}.map-header{display:flex;justify-content:space-between;align-items:center}.map-title{font-size:16px;font-family:var(--font-title);font-weight:700;color:var(--text-primary)}.map-subtitle{font-size:12px;color:var(--text-muted)}.map-element{height:350px;width:100%;border-radius:12px;border:1px solid var(--steel-border);overflow:hidden;z-index:10}.leaflet-tooltip{background:var(--bg-tertiary)!important;color:var(--text-primary)!important;border:1px solid var(--steel-border)!important;border-radius:6px!important;font-family:var(--font-title)!important;font-weight:600!important;font-size:12px!important}.leaflet-popup-content-wrapper{background:var(--bg-secondary)!important;color:var(--text-primary)!important;border:1px solid var(--steel-border)!important;border-radius:10px!important}.leaflet-popup-tip{background:var(--bg-secondary)!important}.leaflet-control-zoom{border:1px solid var(--steel-border)!important}.leaflet-control-zoom-in,.leaflet-control-zoom-out{background:var(--bg-tertiary)!important;color:var(--text-primary)!important;border-bottom-color:var(--steel-border)!important}.leaflet-control-zoom-in:hover,.leaflet-control-zoom-out:hover{background:var(--accent-soft)!important;color:var(--accent)!important}.custom-datepicker-container{position:relative;width:100%}.custom-datepicker-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.custom-datepicker-input{width:100%;padding:10px 40px 10px 14px;font-size:.95rem;border-radius:10px;border:1px solid var(--steel-border);background:var(--bg-card);color:var(--text-primary);outline:none;cursor:pointer;transition:all .2s ease}.custom-datepicker-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.custom-datepicker-icon{position:absolute;right:12px;color:var(--steel);pointer-events:none;display:flex;align-items:center}.custom-datepicker-clear-btn{position:absolute;right:36px;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;padding:4px;border-radius:50%;transition:background .2s ease,color .2s ease}.custom-datepicker-clear-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.custom-datepicker-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:999;width:310px;padding:16px;border-radius:14px;border:1px solid var(--steel-border);background:#ffffffd9;backdrop-filter:blur(var(--glass-blur, 16px));-webkit-backdrop-filter:blur(var(--glass-blur, 16px));box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d;animation:datepickerFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes datepickerFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.custom-datepicker-popover.open-upward{top:auto;bottom:calc(100% + 8px);animation:datepickerFadeInUp .2s cubic-bezier(.16,1,.3,1)}.custom-datepicker-popover.open-leftward{left:auto;right:0}@keyframes datepickerFadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.custom-datepicker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.custom-datepicker-month-year{font-weight:600;font-size:.95rem;color:var(--text-primary);text-transform:capitalize}.custom-datepicker-nav-btn{background:none;border:none;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:background .2s ease,color .2s ease}.custom-datepicker-nav-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.custom-datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:8px}.custom-datepicker-weekday{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;padding:4px 0}.custom-datepicker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.custom-datepicker-day{background:none;border:none;height:34px;width:34px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--text-primary);cursor:pointer;transition:all .15s ease}.custom-datepicker-day:hover:not(.empty):not(.selected){background:var(--bg-secondary)}.custom-datepicker-day.empty{cursor:default;color:var(--text-muted);opacity:.35}.custom-datepicker-day.today:not(.selected){font-weight:700;border:1px solid var(--accent);color:var(--accent)}.custom-datepicker-day.selected{background:var(--accent);color:var(--on-primary);font-weight:600;box-shadow:0 4px 10px #f9731659}body.dark-mode .custom-datepicker-popover{background:#0f172ad9;border-color:#ffffff1a}.signature-pad-container{display:flex;flex-direction:column;gap:12px;width:100%}.signature-canvas-wrapper{background:#0a0b1066;border:2px dashed var(--steel-border);border-radius:10px;position:relative;overflow:hidden;height:180px;width:100%;cursor:crosshair}.signature-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.signature-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-muted);font-size:13px;font-family:var(--font-title);pointer-events:none;text-align:center}.signature-actions{display:flex;justify-content:flex-end;gap:10px}.signature-pad-btn{padding:8px 16px;font-size:13px;font-weight:600;border-radius:6px}.project-detail-content-wrapper{display:flex;flex-direction:column;gap:24px;padding:10px 0}.breadcrumb-nav{display:flex;align-items:center;gap:8px;font-size:13.5px;font-family:var(--font-title);font-weight:500;color:var(--text-secondary)}.breadcrumb-item{transition:color .2s ease}.breadcrumb-item:hover{color:var(--accent)}.breadcrumb-separator{color:var(--steel)}.breadcrumb-current{color:var(--primary);font-weight:700}.project-overview-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.project-detail-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--steel-border);padding-bottom:20px}.project-detail-title-section{display:flex;flex-direction:column;gap:6px}.project-detail-title-section h2{font-size:24px;font-family:var(--font-title);font-weight:800;color:var(--text-primary)}.project-detail-tabs{display:flex;gap:8px;border-bottom:1px solid var(--steel-border);overflow-x:auto;padding-bottom:1px}.detail-tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-family:var(--font-title);font-weight:600;font-size:14px;padding:12px 16px;cursor:pointer;white-space:nowrap;transition:all .2s ease}.detail-tab-btn:hover{color:var(--text-primary)}.detail-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.tasks-list{display:flex;flex-direction:column;gap:12px}.task-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--steel-border);transition:all .2s ease}.task-row:hover{border-color:var(--steel);box-shadow:var(--hover-shadow);transform:translateY(-1px)}.task-info{display:flex;align-items:center;gap:16px}.task-checkbox-wrapper{cursor:pointer;color:var(--text-muted);transition:color .2s ease}.task-checkbox-wrapper.completed{color:var(--status-success)}.task-name{font-family:var(--font-title);font-weight:600;font-size:15px}.task-name.completed{text-decoration:line-through;color:var(--text-muted)}.task-date{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.photo-log-card{border-radius:12px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--steel-border)}.photo-wrapper{position:relative;height:180px;background:#000}.photo-wrapper img{width:100%;height:100%;object-fit:cover}.photo-type-badge{position:absolute;top:12px;left:12px;z-index:5}.photo-comment-box{padding:16px;background:var(--bg-card);flex:1;display:flex;flex-direction:column;gap:10px}.photo-comment-text{font-size:13.5px;color:var(--text-primary);line-height:1.4;flex:1}.photo-footer{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);border-top:1px solid rgba(75,82,109,.1);padding-top:8px}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.document-view-card{padding:24px;display:flex;flex-direction:column;gap:16px}.document-card-header{display:flex;justify-content:space-between;align-items:center}.document-price{font-size:20px;font-family:var(--font-title);font-weight:800;color:var(--text-primary)}.signature-display-box{background:var(--bg-secondary);border:1px solid var(--steel-border);border-radius:var(--radius-default);padding:10px;height:80px;display:flex;align-items:center;justify-content:center}.signature-display-img{max-height:100%;max-width:100%;object-fit:contain}.assignments-list-container{display:flex;flex-direction:column;gap:12px}.assignment-item-row{display:flex;align-items:center;justify-content:space-between;background:var(--bg-card);border:1px solid var(--steel-border);border-radius:var(--radius-default);padding:10px 14px}.assignment-info{display:flex;align-items:center;gap:10px}.assignment-name{font-size:13.5px;font-weight:600}.assignment-role{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}@media print{body *{visibility:hidden}#print-section,#print-section *{visibility:visible}#print-section{position:absolute;left:0;top:0;width:100%;color:#000!important;background:#fff!important}}.client-portal-layout{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden;background-color:var(--bg-primary)}.client-portal-scrollable{flex:1;padding:30px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.client-portal-header{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--steel-border);padding-bottom:20px}.client-portal-header h2{font-size:24px;font-family:var(--font-title);font-weight:800;color:var(--text-primary)}.client-sections-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 992px){.client-sections-grid{grid-template-columns:1fr}}.client-card{padding:24px;display:flex;flex-direction:column;gap:16px}.client-card h3{font-size:16px;font-family:var(--font-title);border-bottom:1px solid rgba(75,82,109,.1);padding-bottom:10px}.milestones-list{display:flex;flex-direction:column;gap:12px}.milestone-item{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-radius:10px;background:#12131a4d;border:1px solid var(--steel-border)}.milestone-info{display:flex;align-items:center;gap:12px}.milestone-name{font-family:var(--font-title);font-weight:600;font-size:14px}.signature-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0b10d9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1100}.signature-modal-content{width:100%;max-width:500px;padding:30px;display:flex;flex-direction:column;gap:20px}.worker-portal-layout{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden;background-color:var(--bg-primary)}.worker-portal-scrollable{flex:1;padding:30px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.worker-header{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--steel-border);padding-bottom:20px}.worker-header h2{font-size:24px;font-family:var(--font-title);font-weight:800;color:var(--text-primary)}.worker-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}@media (max-width: 992px){.worker-grid{grid-template-columns:1fr}}.upload-box{border:2px dashed var(--steel-border);border-radius:12px;padding:30px;text-align:center;cursor:pointer;background:#12131a66;color:var(--text-secondary);transition:all .2s ease;position:relative}.upload-box:hover{border-color:var(--accent);color:var(--text-primary);background:var(--accent-soft)}.upload-preview{width:100%;max-height:180px;object-fit:cover;border-radius:8px}.dashboard-container{display:flex;min-height:100vh}.dashboard-main-content{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden}.dashboard-scrollable{flex:1;padding:30px;overflow-y:auto;background-color:var(--bg-primary);display:flex;flex-direction:column;gap:24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}@media (max-width: 992px){.charts-grid{grid-template-columns:1fr}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.project-card{padding:24px;display:flex;flex-direction:column;gap:16px;cursor:pointer;position:relative;overflow:hidden}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.project-card-header h3{font-size:18px;font-family:var(--font-title)}.project-meta-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.progress-bar-container{display:flex;flex-direction:column;gap:6px}.progress-bar-header{display:flex;justify-content:space-between;font-size:12px;font-weight:600;font-family:var(--font-title);color:var(--text-secondary)}.progress-bar-bg{height:8px;background:#4b526d26;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .4s ease}.project-card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(75,82,109,.1);padding-top:12px;margin-top:auto}.quick-action-card{padding:24px;display:flex;flex-direction:column;gap:16px}.action-buttons-list{display:flex;flex-direction:column;gap:10px}.action-list-btn{text-align:left;padding:10px 14px;background:#4b526d1a;border:1px solid var(--steel-border);color:var(--text-primary);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.action-list-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);transform:translate(4px)}.pricing-settings-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.pricing-settings-card{padding:30px;display:flex;flex-direction:column;gap:16px;border:1px solid var(--steel-border);position:relative}.pricing-settings-card.current{border-color:var(--accent);background:#ffb3000a}.current-plan-banner{position:absolute;top:15px;right:15px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:700;padding:4px 8px;border-radius:4px}.dashboard-title-area{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.title-left h2{font-size:26px;font-weight:800;color:var(--primary);font-family:var(--font-title);letter-spacing:-.02em}.title-left p{font-size:13px;color:var(--text-secondary);margin-top:4px}.title-right{display:flex;gap:12px}.title-action-btn-secondary{background:var(--bg-secondary);border:1px solid var(--steel-border);color:var(--primary);display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius-default);font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease;font-family:var(--font-title)}.title-action-btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--steel)}.title-action-btn-primary{background:var(--primary);border:none;color:#fff;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius-default);font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease;font-family:var(--font-title)}.title-action-btn-primary:hover{background:#001952}.dashboard-metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:24px}.metric-card{padding:20px;display:flex;flex-direction:column;gap:16px;border:1px solid var(--steel-border);border-radius:var(--radius-lg);background:var(--bg-card);transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--hover-shadow)}.metric-card-header{display:flex;justify-content:space-between;align-items:center}.metric-icon-wrapper{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.metric-icon-wrapper.blue{background:#00236f14;color:var(--primary)}.metric-icon-wrapper.red{background:#ba1a1a14;color:var(--status-danger)}.metric-icon-wrapper.purple{background:#9d430014;color:var(--secondary)}.metric-icon-wrapper.green{background:#13733314;color:var(--status-success)}.metric-tag{font-size:11px;font-weight:700;padding:4px 10px;border-radius:9999px;font-family:var(--font-title)}.metric-tag.green{background:var(--status-success-soft);color:var(--status-success)}.metric-tag.gray{background:var(--bg-secondary);color:var(--text-secondary)}.metric-tag.blue{background:#00236f14;color:var(--primary)}.metric-card-body{display:flex;flex-direction:column;gap:4px}.metric-label{font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.05em;font-family:var(--font-title)}.metric-value{font-size:28px;font-family:var(--font-mono);font-weight:700;color:var(--primary);margin-top:4px}.metric-progress-container{margin-top:8px}.metric-progress-bg{height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.metric-progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .4s ease}.dashboard-grid-row{display:grid;grid-template-columns:1.7fr 1.3fr;gap:24px}@media (max-width: 992px){.dashboard-grid-row{grid-template-columns:1fr}}.dashboard-grid-card{padding:24px;background:var(--bg-card);border:1px solid var(--steel-border);border-radius:var(--radius-lg)}.grid-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.grid-card-header h3{font-size:16px;font-weight:700;color:var(--primary);font-family:var(--font-title)}.view-all-link{font-family:var(--font-title);font-weight:700;font-size:13px;color:var(--primary);background:transparent;border:none;cursor:pointer;transition:opacity .2s ease}.view-all-link:hover{opacity:.8;text-decoration:underline}.recents-table{width:100%;border-collapse:collapse;text-align:left}.recents-table th{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-muted);padding:12px;border-bottom:1px solid var(--steel-border);text-transform:uppercase;letter-spacing:.05em}.recents-table td{padding:14px 12px;font-size:13px;color:var(--text-primary);border-bottom:1px solid rgba(75,82,109,.05)}.recents-table tr{cursor:pointer;transition:background-color .2s ease}.recents-table tr:hover td{background:#00236f05}.proj-name-cell{font-weight:700;color:var(--primary);font-family:var(--font-title)}.status-badge-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-sm);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-title)}.status-badge-tag.EN_COURS{background:var(--status-pending-soft);color:var(--status-pending)}.status-badge-tag.TERMINE{background:var(--status-success-soft);color:var(--status-success)}.status-badge-tag.SUSPENDU{background:var(--status-danger-soft);color:var(--status-danger)}.progress-cell{display:flex;align-items:center;gap:10px}.progress-bar-tiny-bg{width:70px;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden;flex-shrink:0}.progress-bar-tiny-fill{height:100%;border-radius:3px;transition:width .4s ease}.progress-bar-tiny-fill.brown{background:var(--accent)}.progress-bar-tiny-fill.green{background:var(--status-success)}.progress-bar-tiny-fill.red{background:var(--status-danger)}.progress-percentage-text{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-secondary)}.chart-header-text{display:flex;flex-direction:column;gap:4px}.chart-subtitle{font-size:12px;color:var(--text-muted)}.chart-body{display:flex;flex-direction:column}.svg-chart-container{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid rgba(75,82,109,.08);padding-bottom:16px;margin-bottom:16px}.sparkline-svg{width:100%;height:120px}.chart-months-labels{display:flex;justify-content:space-between;padding:0 10px}.chart-months-labels span{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--text-muted)}.chart-statistics{display:flex;flex-direction:column;gap:12px}.stat-row{display:flex;justify-content:space-between;align-items:center}.stat-label{font-size:13px;color:var(--text-secondary);font-family:var(--font-title);font-weight:500}.stat-value{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--primary)}.focus-card{padding:0!important;overflow:hidden;position:relative;border-radius:var(--radius-lg);border:1px solid var(--steel-border)}.focus-image-container{position:relative;width:100%;height:250px}.focus-image{width:100%;height:100%;object-fit:cover}.focus-overlay{position:absolute;bottom:0;left:0;right:0;padding:24px;background:linear-gradient(0deg,#00236ff2,#00236f66 65%,#00236f00);color:#fff}.focus-overlay h4{font-family:var(--font-title);font-size:16px;font-weight:700}.focus-overlay p{font-size:12px;opacity:.9;margin-top:4px}.security-alerts-card{padding:24px;background:var(--bg-card);border:1px solid var(--steel-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:16px}.alerts-card-header h3{font-size:16px;font-weight:700;color:var(--primary);font-family:var(--font-title)}.alerts-card-body{display:flex;flex-direction:column;gap:12px}.security-alert-item{display:flex;gap:12px;padding:12px 16px;border-radius:var(--radius-default)}.security-alert-item.danger{border-left:4px solid var(--status-danger);background:var(--status-danger-soft)}.security-alert-item.info{border-left:4px solid var(--steel);background:var(--bg-secondary)}.alert-icon-red{color:var(--status-danger);flex-shrink:0;margin-top:2px}.alert-icon-gray{color:var(--steel);flex-shrink:0;margin-top:2px}.alert-content h5{font-family:var(--font-title);font-size:13px;font-weight:700;color:var(--text-primary)}.alert-content p{font-size:12px;color:var(--text-secondary);margin-top:2px}.full-width-btn{width:100%}.dashboard-footer-bar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--steel-border);padding-top:20px;margin-top:40px;font-size:12px;color:var(--text-muted);font-family:var(--font-mono)}.footer-links{display:flex;gap:24px}.footer-links span{cursor:pointer;transition:color .2s ease}.footer-links span:hover{color:var(--primary)}.pricing-settings-card.recommended-plan{border-color:var(--accent);box-shadow:0 0 15px #f9731640;background:#f9731605}:root{--bg-primary: #f8fafc;--bg-secondary: #f1f5f9;--bg-tertiary: #e2e8f0;--bg-card: #ffffff;--primary: #0f172a;--primary-container: #1e293b;--on-primary: #ffffff;--accent: #f97316;--accent-hover: #ea580c;--accent-soft: rgba(249, 115, 22, .08);--accent-glow: rgba(249, 115, 22, .25);--steel: #64748b;--steel-border: #e2e8f0;--steel-light: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--status-pending: #d97706;--status-pending-soft: rgba(217, 119, 6, .1);--status-active: #2563eb;--status-active-soft: rgba(37, 99, 235, .1);--status-success: #10b981;--status-success-soft: rgba(16, 185, 129, .1);--status-danger: #ef4444;--status-danger-soft: rgba(239, 68, 68, .1);--glass-blur: 16px;--card-shadow: 0 4px 6px -1px rgba(15, 23, 42, .04), 0 2px 4px -2px rgba(15, 23, 42, .04);--hover-shadow: 0 20px 25px -5px rgba(15, 23, 42, .08), 0 8px 10px -6px rgba(15, 23, 42, .08);--glow-shadow: 0 10px 15px -3px rgba(249, 115, 22, .18), 0 4px 6px -4px rgba(249, 115, 22, .1);--radius-sm: 4px;--radius-default: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--font-title: "Poppins", sans-serif;--font-body: "Poppins", sans-serif;--font-mono: "JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;background:radial-gradient(at 0% 0%,rgba(249,115,22,.03) 0px,transparent 50%),radial-gradient(at 50% 0%,rgba(37,99,235,.03) 0px,transparent 50%),var(--bg-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);font-weight:700;letter-spacing:-.02em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--steel-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--steel)}.glass-panel{background:var(--bg-card);border:1px solid var(--steel-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1),border-color .4s cubic-bezier(.16,1,.3,1)}.glass-panel:hover{border-color:#f9731659;box-shadow:var(--hover-shadow);transform:translateY(-4px)}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;background:var(--bg-card);border:1px solid var(--steel-border);border-radius:var(--radius-default);color:var(--text-primary);font-family:var(--font-body);font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00236f1a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-family:var(--font-title);font-weight:600;font-size:14px;border-radius:var(--radius-default);border:none;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);text-decoration:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#001952;transform:translateY(-2px);box-shadow:var(--hover-shadow)}.btn-primary:active{transform:translateY(0)}.btn-cta{background:var(--accent);color:#fff}.btn-cta:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--hover-shadow)}.btn-cta:active{transform:translateY(0)}.btn-secondary{background:#fff;color:var(--primary);border:1px solid var(--steel-border)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--primary);transform:translateY(-2px)}.btn-danger{background:var(--status-danger);color:#fff}.btn-danger:hover{background:#93000a;transform:translateY(-2px)}.btn-outline{background:transparent;border:1px solid var(--primary);color:var(--primary)}.btn-outline:hover{background:var(--bg-secondary);transform:translateY(-2px)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-pending,.badge-warning{background:var(--status-pending-soft);color:var(--status-pending)}.badge-active{background:var(--status-active-soft);color:var(--status-active)}.badge-success{background:var(--status-success-soft);color:var(--status-success)}.badge-danger{background:var(--status-danger-soft);color:var(--status-danger)}.dashboard-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.dashboard-main{background-color:var(--bg-primary);padding:30px;overflow-y:auto;height:100vh}.table-container{overflow-x:auto;margin-top:15px}.custom-table{width:100%;border-collapse:collapse;text-align:left}.custom-table th{padding:16px;font-family:var(--font-title);color:var(--text-secondary);font-size:13px;font-weight:600;text-transform:uppercase;border-bottom:1px solid var(--steel-border)}.custom-table td{padding:16px;font-size:14px;border-bottom:1px solid rgba(75,82,109,.1);color:var(--text-primary)}.custom-table tr{transition:background-color .2s ease}.custom-table tr:hover td{background-color:#4b526d0d}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s cubic-bezier(.16,1,.3,1) forwards}@media (max-width: 992px){.dashboard-layout{grid-template-columns:1fr}}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:4px solid var(--steel-border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-family:var(--font-title);font-size:13px;font-weight:600;color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 576px){.form-row{grid-template-columns:1fr;gap:12px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0b10b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;overflow-y:auto;padding:40px 10px}.modal-content{width:100%;max-width:800px;padding:30px;margin:auto;max-height:none;overflow-y:visible;overflow-x:visible;position:relative;display:flex;flex-direction:column;gap:20px}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--steel-border);padding-bottom:15px}.modal-title{font-size:18px;font-family:var(--font-title);font-weight:700;color:var(--text-primary)}.modal-close-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.modal-close-btn:hover{color:var(--status-danger)}@media print{body *{visibility:hidden!important}#print-section,#print-section *{visibility:visible!important}.sidebar,.header,.modal-header,button,.btn,.breadcrumb-nav,.project-detail-header{display:none!important}html,body{margin:0!important;padding:0!important;background:#fff!important;color:#000!important;overflow:visible!important;height:auto!important;width:100%!important}.dashboard-container,.dashboard-main-content,.dashboard-scrollable,.modal-overlay,.modal-content,.project-detail-content-wrapper{position:static!important;display:block!important;padding:0!important;margin:0!important;border:none!important;background:transparent!important;box-shadow:none!important;height:auto!important;width:100%!important;min-height:0!important;overflow:visible!important}#print-section{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#000!important;box-shadow:none!important;border:none!important}}
