@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Great+Vibes&family=Inter:wght@400;500;600;700&display=swap";
:root{--ink:#4b3d39;--ink-deep:#3a2e2b;--gold:#a68e6b;--gold-light:#c4b08a;--cream:#f9f7f4;--cream-dark:#f0ebe4;--primary:#4b3d39;--primary-dark:#3a2e2b;--primary-light:#6b564f;--secondary:#a68e6b;--secondary-dk:#8c7354;--danger:#e74c3c;--danger-dk:#c0392b;--warning:#e67e22;--success:#27ae60;--info:#2980b9;--bg:#f6f3ef;--bg-home:#f3eee8;--surface:#fff;--border:#e4ddd4;--border-light:#f3eee8;--text:#4b3d39;--text-muted:#7a6a62;--text-light:#b5a79c;--navbar-h:58px;--radius-sm:3px;--radius:4px;--radius-lg:8px;--shadow-sm:0 1px 3px #00000014;--shadow:0 2px 8px #0000001f;--shadow-lg:0 8px 32px #00000029;--transition:.18s ease;--font-cinzel:"Cinzel", Georgia, serif;--font-script:"Great Vibes", cursive}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}a{color:var(--primary);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-body{min-height:calc(100vh - var(--navbar-h));flex:1;display:flex}.app-body:has(.login-shell){min-height:100vh}.main-content:has(.login-shell){overflow:hidden}.app-sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;flex-shrink:0;gap:2px;width:96px;padding:8px 6px;display:flex}.app-sidebar-item{color:var(--text);transition:background var(--transition);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:4px;text-decoration:none;display:flex;position:relative}.app-sidebar-item:hover,.app-sidebar-item.is-active{background:var(--cream)}.app-sidebar-item.is-soon{opacity:.55;cursor:default}.app-sidebar-icon{justify-content:center;align-items:center;width:40px;height:40px;display:flex}.app-sidebar-label{text-align:center;font-size:10px;font-weight:600;line-height:1.15}.app-sidebar-soon{color:#6b7280;background:#e5e7eb;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:6px;right:8px}.main-content{flex:1;min-width:0;padding:0}.page-pad{padding:20px 24px}.navbar{height:var(--navbar-h);z-index:1000;background:linear-gradient(105deg,#2a211e 0%,#3a2e2b 18%,#5c4638 40%,#8b6f4e 58%,#6b5644 76%,#322724 100%);border-bottom:1px solid #a68e6b73;align-items:stretch;gap:0;padding:0 16px 0 20px;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #3a2e2b47}.navbar-left{flex:1;align-self:stretch;align-items:center;gap:4px;min-width:0;display:flex}.navbar-page-title{flex-direction:column;justify-content:center;gap:1px;min-width:0;max-width:520px;margin-left:14px;padding:0;display:flex}.navbar-page-title strong{color:#fff;font-size:15px;font-weight:700;font-family:var(--font-cinzel), Georgia, serif;letter-spacing:.02em;line-height:1.15}.navbar-page-title span{color:#f9f7f4c7;font-size:11px;font-weight:500;line-height:1.25}.navbar-right{align-self:stretch;align-items:center;gap:6px;display:flex}.navbar-logo-cutout{background-color:var(--cream);background-image:radial-gradient(#4b3d390e .7px,#0000 .7px);background-size:3px 3px;border:1px solid #a68e6b38;border-bottom:none;border-radius:12px 12px 0 0;flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;width:132px;height:50px;margin:0 12px -1px 4px;padding:0;text-decoration:none;display:flex;position:relative;overflow:hidden;box-shadow:0 -2px 8px #3a2e2b24,inset 0 1px #ffffffb3}.navbar-logo-img{object-fit:contain;object-position:center center}.navbar-grid-btn{color:#f9f7f4d1;width:36px;height:36px;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.navbar-grid-btn:hover{color:var(--cream);background:#f9f7f41f}.navbar-brand{color:var(--cream);flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-start;gap:5px;margin:0 16px 0 2px;text-decoration:none;display:flex}.navbar-brand-name{font-family:var(--font-cinzel), "Cinzel", Georgia, serif;letter-spacing:.2em;color:var(--cream);text-shadow:0 1px #00000047,0 0 12px #c4b08a1f;font-size:24px;font-weight:700;line-height:1}.navbar-brand-rule{background:linear-gradient(90deg, var(--gold-light), var(--gold) 60%, transparent);width:56px;height:1px;display:block;box-shadow:0 1px #ffffff1f}.navbar-brand-tagline{font-family:var(--font-cinzel), "Cinzel", Georgia, serif;letter-spacing:.24em;color:var(--gold-light);font-size:12px;font-weight:400;line-height:1}.navbar-brand-icon{object-fit:cover;border-radius:6px}.navbar-brand:hover{color:var(--cream)}.navbar-brand:hover .navbar-brand-name{color:#fff}.navbar-divider{background:#fff3;width:1px;height:20px;margin:0 6px}.navbar-nav{gap:2px;display:flex}.nav-link{color:#ffffffd9;border-radius:var(--radius);transition:background var(--transition);align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:flex}.nav-link:hover{color:#fff;background:#ffffff26}.navbar-icon-btn{color:#f9f7f4e0;width:34px;height:34px;transition:background var(--transition), color var(--transition), border-color var(--transition);background:#f9f7f414;border:1px solid #c4b08a38;border-radius:9px;justify-content:center;align-items:center;display:flex;position:relative}.navbar-icon-btn:hover{color:var(--cream);background:#f9f7f429;border-color:#c4b08a73}.badge{background:var(--danger);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 3px;font-size:9px;font-weight:700;display:flex;position:absolute;top:3px;right:3px}.grid-menu-wrapper{position:relative}.grid-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:2000;grid-template-columns:repeat(4,1fr);gap:8px;min-width:380px;padding:12px;animation:.15s fadeDown;display:grid;position:absolute;top:calc(100% + 10px);left:0}.grid-dropdown-item{border-radius:var(--radius);color:var(--text);text-align:center;transition:background var(--transition);flex-direction:column;align-items:center;gap:4px;padding:6px 4px;font-size:11px;font-weight:500;line-height:1.2;text-decoration:none;display:flex}.grid-dropdown-item:hover{background:var(--bg)}.grid-dropdown-icon{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 2px 6px #00000014}.grid-dropdown-icon img{object-fit:cover;border-radius:10px;width:40px;height:40px}.navbar-tabs{gap:4px;margin-left:20px;display:flex}.navbar-tab{color:#f9f7f4b8;border-radius:var(--radius);transition:all var(--transition);align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.navbar-tab:hover{color:var(--cream);background:#f9f7f41a}.navbar-tab-active{color:var(--cream);background:#a68e6b47;font-weight:600}.navbar-tab-count{color:#fff;background:#f86126;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.user-menu-wrapper{position:relative}.user-avatar-btn{color:var(--cream);transition:background var(--transition), border-color var(--transition);background:#f9f7f41a;border:1px solid #c4b08a47;border-radius:999px;align-items:center;gap:8px;padding:3px 10px 3px 3px;display:flex}.user-avatar-btn:hover{background:#f9f7f429;border-color:#c4b08a80}.user-pill-meta{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15;display:flex}.user-pill-name{color:var(--cream);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:12px;font-weight:600;overflow:hidden}.user-pill-role{color:var(--gold-light);letter-spacing:.04em;font-size:10px}.user-pill-divider{background:#c4b08a59;width:1px;height:20px;margin:0 2px}.user-logout-btn{width:24px;height:24px;color:var(--gold-light);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.user-logout-btn:hover{color:#fff;background:#f9f7f41f}.user-avatar{width:28px;height:28px;color:var(--cream);background:#a68e6b73;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.user-avatar-lg{background:var(--primary);width:40px;height:40px;font-size:16px}.user-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:2000;min-width:220px;animation:.15s fadeDown;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}@keyframes fadeDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{border-bottom:1px solid var(--border-light);background:#fafafa;gap:12px;padding:14px 16px;display:flex}.user-name{font-size:13px;font-weight:600}.user-email{color:var(--text-muted);margin-bottom:4px;font-size:11px}.user-role-badge{color:#fff;border-radius:12px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.user-dropdown-divider{background:var(--border-light);height:1px}.user-dropdown-item{width:100%;color:var(--text);text-align:left;transition:background var(--transition);background:0 0;border:none;align-items:center;gap:8px;padding:9px 16px;font-size:13px;display:flex}.user-dropdown-item:hover{background:var(--bg)}.user-dropdown-logout{color:var(--danger)}.user-dropdown-logout:hover{background:#fff5f5}.home-page{min-height:calc(100vh - var(--navbar-h));background:var(--bg-home);justify-content:center;align-items:flex-start;padding:48px 24px 64px;display:flex}.modules-grid{grid-template-columns:repeat(auto-fill,120px);place-content:start center;gap:16px;width:100%;max-width:900px;display:grid}.module-tile{border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);flex-direction:column;align-items:center;gap:10px;padding:16px 8px;text-decoration:none;display:flex}.module-tile:hover{box-shadow:var(--shadow);background:#fffc;transform:translateY(-2px)}.module-icon{width:72px;height:72px;transition:transform var(--transition);border-radius:14px;justify-content:center;align-items:center;display:flex}.module-tile:hover .module-icon{transform:scale(1.05)}.module-label{color:var(--text);text-align:center;font-size:12px;font-weight:500}.login-shell{color:#fff;--login-split:54%;--login-card-offset:clamp(16px, 2vw, 32px);background:#0c1219;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-brand-panel{z-index:3;width:var(--login-split);clip-path:polygon(0 0,100% 0,calc(100% - clamp(120px,14vw,200px)) 50%,100% 100%,0 100%);background:linear-gradient(165deg,#0a101cf0 0%,#1a1412eb 55%,#0a101cf5 100%);flex-direction:column;min-width:0;max-width:none;padding:0;display:flex;position:relative}.login-brand-panel-bg{opacity:.9;pointer-events:none;clip-path:inherit;background:radial-gradient(circle at 20% 80%,#a68e6b1f 0%,#0000 45%),radial-gradient(circle at 80% 20%,#4b3d3959 0%,#0000 50%);position:absolute;inset:0}.login-brand-center{z-index:4;flex:1;justify-content:flex-start;align-items:center;min-height:100%;padding:32px clamp(96px,12vw,156px) 32px clamp(12px,2vw,28px);display:flex;position:relative}.login-brand-content{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:540px;margin:0 auto 0 0;display:flex;transform:translate(clamp(-8px,-1vw,-20px))}.login-brand-name{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:.12em;text-indent:.12em;color:var(--gold-light);width:100%;margin:0 0 8px;font-size:clamp(36px,4.5vw,52px);font-weight:700;line-height:1.15}.login-brand-subtitle{letter-spacing:.28em;text-indent:.28em;color:#ffffffc7;text-transform:uppercase;justify-content:center;align-items:center;gap:16px;width:100%;margin-top:16px;font-size:clamp(12px,1.2vw,14px);display:flex}.login-brand-rule{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:48px;height:1px;display:block}.login-brand-tagline{letter-spacing:.26em;text-indent:.26em;color:#c4b08ae6;width:100%;margin:22px 0 36px;font-size:clamp(11px,1.1vw,13px)}.login-feature-grid{flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:clamp(8px,1.2vw,16px);width:100%;margin:0;padding:0;list-style:none;display:flex}.login-feature-item{flex-direction:column;flex:none;align-items:center;gap:10px;min-width:64px;max-width:80px;display:flex}.login-feature-icon{width:48px;height:48px;color:var(--gold-light);border:1px solid #c4b08a66;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.login-feature-label{letter-spacing:.04em;color:#ffffffb8;text-transform:uppercase;text-align:center;white-space:normal;width:100%;font-size:9px;line-height:1.35}.login-brand-footer{text-align:center;margin-top:40px}.login-brand-motto{letter-spacing:.26em;color:var(--gold);margin:0;font-size:clamp(11px,1.1vw,13px)}.login-brand-script{font-family:var(--font-script), "Great Vibes", cursive;letter-spacing:.02em;color:var(--gold-light);margin:14px 0 0;font-size:clamp(28px,3.2vw,40px);font-style:normal;font-weight:400;line-height:1.2}.login-hero-panel{z-index:0;position:absolute;inset:0;overflow:hidden}.login-hero-image{background-color:#2a2420;background-image:linear-gradient(90deg,#0c1219a6 0%,#0c12191f 50%,#0c12190d 100%),url(/login-hero.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.login-glass-card{z-index:10;left:calc(50% + var(--login-card-offset));-webkit-backdrop-filter:blur(18px);background:#0c121cc7;border:1px solid #c4b08a61;border-radius:18px;width:min(400px,100vw - 48px);padding:36px 36px 32px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 24px 64px #00000073,inset 0 1px #ffffff0f}.login-card-title{text-align:center;color:#fff;margin:0;font-size:24px;font-weight:700}.login-card-subtitle{text-align:center;color:#ffffff8c;margin:8px 0 28px;font-size:13px}.login-form{flex-direction:column;gap:18px;display:flex}.login-field{flex-direction:column;gap:8px;display:flex}.login-field-label{color:#ffffffbf;font-size:12px;font-weight:500}.login-input-wrap{position:relative}.login-input-icon{color:#fff6;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.login-input{color:#fff;width:100%;transition:border-color var(--transition), box-shadow var(--transition);background:#00000059;border:1px solid #ffffff1f;border-radius:8px;outline:none;padding:12px 14px 12px 42px;font-size:14px}.login-input::placeholder{color:#ffffff59}.login-input:focus{border-color:#c4b08aa6;box-shadow:0 0 0 3px #a68e6b26}.login-input-has-action{padding-right:42px}.login-input-action{color:#ffffff73;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.login-form-row{justify-content:space-between;align-items:center;gap:12px;margin-top:-4px;display:flex}.login-remember{color:#ffffffa6;cursor:pointer;align-items:center;gap:8px;font-size:12px;display:inline-flex}.login-remember input{width:14px;height:14px;accent-color:var(--gold)}.login-forgot{color:var(--gold-light);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:none}.login-forgot:hover{text-decoration:underline}.login-submit-btn{color:#1a1410;letter-spacing:.14em;cursor:pointer;width:100%;transition:filter var(--transition), transform var(--transition);background:linear-gradient(135deg,#c4b08a 0%,#a68e6b 48%,#8c7354 100%);border:none;border-radius:8px;margin-top:4px;padding:13px 20px;font-size:14px;font-weight:800}.login-submit-btn:hover:not(:disabled){filter:brightness(1.05)}.login-submit-btn:active:not(:disabled){transform:translateY(1px)}.login-submit-btn:disabled{opacity:.75;cursor:not-allowed}.login-divider{color:#fff6;align-items:center;gap:14px;margin:24px 0 18px;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#ffffff1f;flex:1;height:1px}.login-social-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.login-social-btn{width:44px;height:44px;color:var(--gold-light);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition), color var(--transition);background:#00000059;border:1px solid #c4b08a66;border-radius:50%;justify-content:center;align-items:center;display:flex}.login-social-btn:hover{border-color:var(--gold-light);color:#fff;background:#a68e6b2e;transform:translateY(-1px);box-shadow:0 8px 20px #00000047}.login-page-footer{z-index:12;color:#ffffff61;white-space:nowrap;font-size:11px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@media (max-width:1100px){.login-shell{--login-split:52%;--login-card-offset:clamp(10px, 1.5vw, 20px)}.login-brand-center{padding-right:clamp(72px,10vw,120px)}.login-brand-content{max-width:480px}.login-feature-item{min-width:56px;max-width:72px}.login-feature-icon{width:44px;height:44px}.login-feature-label{font-size:8.5px}}@media (max-width:860px){.login-shell{--login-card-offset:0px;flex-direction:column}.login-brand-panel{clip-path:none;width:100%;min-width:0;max-width:none;min-height:52vh;padding:0}.login-brand-center{justify-content:center;padding:12px 24px}.login-brand-content{max-width:min(480px,92%);margin:0 auto;transform:none}.login-feature-grid{flex-wrap:wrap;gap:16px 14px;max-width:320px}.login-feature-item{min-width:80px;max-width:96px}.login-feature-icon{width:48px;height:48px}.login-feature-label{white-space:normal;font-size:9px}.login-hero-panel{min-height:100%;position:absolute;inset:0}.login-glass-card{left:calc(50% + var(--login-card-offset,24px));width:min(420px,100% - 32px);position:absolute;top:50%;transform:translate(-50%,-50%)}.login-brand-footer{margin-top:28px}}@media (max-width:480px){.login-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 6px}.login-feature-icon{width:38px;height:38px}.login-glass-card{padding:28px 22px 24px}}.input-icon-wrap{position:relative}.input-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.input-icon-right{color:var(--text-muted);cursor:pointer;background:0 0;border:none;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.form-control-icon{padding-left:34px!important}.form-control-icon-right{padding-right:34px!important}.btn-block{justify-content:center;gap:8px;width:100%;margin-top:4px;padding:11px;font-size:14px}.hint-role{color:#fff;border-radius:12px;padding:1px 7px;font-size:10px;font-weight:700}.hint-role.admin{background:var(--danger)}.hint-role.manager{background:var(--info)}.hint-role.user{background:var(--success)}.global-loader-overlay{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fff9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.global-loader-box{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:12px;padding:24px 32px;display:flex}.loader-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.loader-message{color:var(--text-muted);font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border-style:solid;border-color:#0000;border-radius:50%;animation:.7s linear infinite spin;display:inline-block}.spinner-primary{border-top-color:var(--primary)}.spinner-white{border-top-color:#fff}.spinner-sm{border-width:2px;width:14px;height:14px}.spinner-md{border-width:2px;width:20px;height:20px}.spinner-lg{border-width:3px;width:28px;height:28px}.btn-inline-spinner{vertical-align:-2px;margin-right:4px;animation:.7s linear infinite spin;display:inline-block}.btn .btn-inline-spinner{margin-right:6px}.toast-container{z-index:9000;flex-direction:column;gap:8px;max-width:360px;display:flex;position:fixed;top:60px;right:16px}.toast{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:var(--surface);border-left:4px solid;align-items:flex-start;gap:10px;padding:12px 14px;animation:.2s slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.toast-success{border-color:var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-error{border-color:var(--danger)}.toast-error .toast-icon{color:var(--danger)}.toast-warning{border-color:var(--warning)}.toast-warning .toast-icon{color:var(--warning)}.toast-info{border-color:var(--info)}.toast-info .toast-icon{color:var(--info)}.toast-icon{flex-shrink:0;margin-top:1px}.toast-body{flex:1}.toast-title{margin-bottom:2px;font-size:13px;font-weight:600}.toast-message{color:var(--text-muted);font-size:12px}.toast-close{color:var(--text-muted);background:0 0;border:none;flex-shrink:0;margin-left:4px;display:flex}.toast-close:hover{color:var(--text)}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), box-shadow var(--transition), border-color var(--transition);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--secondary);color:#fff;border-color:var(--secondary)}.btn-primary:hover:not(:disabled){background:var(--secondary-dk);border-color:var(--secondary-dk)}.btn-secondary{color:var(--text);border-color:var(--border);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--bg)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-dk)}.btn-success{color:#fff;background:#059669;border-color:#059669}.btn-success:hover:not(:disabled){background:#047857;border-color:#047857}.odoo-page{flex-direction:column;display:flex}.page-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:0;padding:8px 0 0;display:flex}.page-header-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.page-header-right{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.new-btn{background:var(--primary);border-color:var(--primary);font-weight:600}.new-btn:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.page-title{color:var(--text);align-items:center;gap:6px;font-size:16px;font-weight:600;display:flex}.page-title-icon{color:var(--text-muted);display:flex}.selection-info{color:var(--text-muted);font-size:12px}.search-box{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:9px}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:200px;height:32px;transition:border-color var(--transition);outline:none;padding:0 28px 0 30px;font-size:13px}.search-input:focus{border-color:var(--primary)}.search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;display:flex;position:absolute;right:7px}.search-clear:hover{color:var(--text)}.toolbar-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);color:var(--text);transition:background var(--transition);align-items:center;gap:5px;padding:6px 10px;font-size:12px;display:inline-flex}.toolbar-btn:hover{background:var(--bg)}.view-switcher{border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.view-btn{background:var(--surface);border:none;border-right:1px solid var(--border);width:32px;height:30px;color:var(--text-muted);transition:background var(--transition), color var(--transition);justify-content:center;align-items:center;display:flex}.view-btn:last-child{border-right:none}.view-btn:hover{background:var(--bg);color:var(--text)}.view-btn-active{background:var(--primary);color:#fff}.view-btn-active:hover{background:var(--primary-dark)}.record-count-bar{border-bottom:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-top:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;margin-top:6px;padding:6px 12px;font-size:12px;display:flex}.pagination-controls{align-items:center;gap:8px;display:flex}.pagination-info{color:var(--text-muted);font-size:12px}.page-size-select{border:1px solid var(--border);border-radius:var(--radius-sm);height:26px;color:var(--text);cursor:pointer;background:#fff;font-size:12px}.quick-filter-bar{align-items:center;gap:12px;width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.quick-filter-bar::-webkit-scrollbar{display:none}.quick-filter-group{border:1px solid var(--border);background-color:var(--surface);border-radius:6px;flex-shrink:0;align-items:center;display:flex;overflow:hidden}.quick-filter-divider{background-color:var(--border);flex-shrink:0;width:1px;height:24px;margin:0 4px}.quick-filter-btn{border:none;border-right:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background-color:#0000;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.quick-filter-btn:last-child{border-right:none}.quick-filter-btn:hover:not(.active){background-color:var(--bg)}.quick-filter-btn.active{background-color:var(--primary);color:#fff;box-shadow:inset 0 1px 2px #0000001a}.page-nav-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text);transition:background var(--transition);justify-content:center;align-items:center;font-size:16px;display:flex}.page-nav-btn:hover:not(:disabled){background:var(--bg)}.page-nav-btn:disabled{opacity:.4;cursor:not-allowed}.view-content{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);border-top:none;overflow:auto}.list-view-container{overflow-x:auto}.odoo-table{border-collapse:collapse;width:100%}.odoo-table th,.odoo-table td{text-align:left;border-bottom:1px solid var(--border-light);padding:10px 14px;font-size:13px}.odoo-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;background:#fafbfc;font-size:12px;font-weight:600}.odoo-table tbody tr:hover td{background:#f5f6fa}.odoo-table tr.row-selected td{background:#f0eaf3}.odoo-table input[type=checkbox]{accent-color:var(--primary);cursor:pointer;width:14px;height:14px}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-th:hover{color:var(--primary)}.th-content{align-items:center;gap:4px;display:flex}.sort-icons{opacity:.4;flex-direction:column;display:flex}.active-sort{opacity:1;color:var(--primary)}.empty-state{text-align:center;color:var(--text-muted);padding:40px;font-size:14px}.status-active{color:var(--success);align-items:center;gap:4px;font-weight:500;display:inline-flex}.status-inactive{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.kanban-view-wrap{background:#fff}.kanban-toolbar{background:#fafafa;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.kanban-toolbar-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kanban-toolbar-meta{color:#888;margin-left:6px;font-size:12px}.kanban-container{align-items:flex-start;gap:14px;min-height:400px;padding:14px;display:flex;overflow-x:auto}.kanban-column{background:#f5f6f8;border-radius:8px;flex-shrink:0;min-width:280px;max-width:300px}.kanban-col-header{border-top:3px solid;border:1px solid var(--border);border-top-width:3px;border-radius:8px 8px 0 0;align-items:center;gap:8px;padding:10px 12px;display:flex}.kanban-col-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.kanban-col-count{color:#555;background:#e8e8ec;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700}.kanban-add-btn{color:var(--text-muted);background:0 0;border:none;border-radius:3px;padding:2px;display:flex}.kanban-add-btn:hover{background:var(--border-light);color:var(--primary)}.kanban-cards{flex-direction:column;gap:8px;max-height:calc(100vh - 280px);padding:8px;display:flex;overflow-y:auto}.kanban-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow var(--transition), transform var(--transition);border-radius:8px;padding:12px 12px 10px 14px;position:relative}.kanban-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #714b6724}.kanban-card-rich{flex-direction:column;gap:6px;display:flex}.kanban-card-accent{border-radius:8px 0 0 8px;width:3px;position:absolute;top:0;bottom:0;left:0}.kanban-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.kanban-card-title{color:#1f2937;font-size:13px;font-weight:650;line-height:1.3}.kanban-card-subtitle{color:#6b7280;align-items:center;gap:5px;font-size:12px;display:flex}.kanban-tag{white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:650;display:inline-flex}.kanban-rate-badge{color:#714b67;background:#f7f1f5;border-radius:6px;align-items:baseline;gap:6px;width:fit-content;padding:5px 8px;font-size:13px;font-weight:700;display:inline-flex}.kanban-rate-badge span{color:#9a7a90;font-size:10px;font-weight:500}.kanban-card-details{flex-direction:column;gap:3px;display:flex}.kanban-detail-row{justify-content:space-between;gap:8px;font-size:11px;display:flex}.kanban-detail-label{color:#9ca3af;flex-shrink:0}.kanban-detail-value{color:#374151;text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kanban-card-footer{border-top:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-top:6px;padding-top:6px;display:flex}.kanban-card-actions{color:#d1d5db;gap:8px;display:flex}.kanban-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:flex}.odoo-analytics-view{background:#fff;min-height:420px;padding:12px 14px 18px}.analytics-toolbar{border-bottom:1px solid #f0f0f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:10px;display:flex}.analytics-toolbar-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.view-ctrl-label{color:#6b7280;font-size:12px;font-weight:500}.view-ctrl-select{color:#374151;cursor:pointer;background:#f9fafb;border:1px solid #d1d5db;border-radius:4px;min-width:120px;padding:6px 10px;font-size:13px}.view-ctrl-btn{color:#374151;cursor:pointer;background:#f9fafb;border:1px solid #d1d5db;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.view-ctrl-btn-primary{color:#fff;background:#714b67;border-color:#714b67}.view-ctrl-icon-btn{color:#374151;cursor:pointer;background:#f9fafb;border:none;border-radius:4px;padding:6px;display:inline-flex}.view-ctrl-icon-btn:hover,.view-ctrl-btn:hover{background:#f3f0f2}.view-ctrl-btn-primary:hover{background:#5a3c52}.view-dropdown{z-index:40;background:#fff;border:1px solid #e5e7eb;border-radius:6px;min-width:180px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.view-dropdown-item{text-align:left;color:#374151;cursor:pointer;background:#fff;border:none;width:100%;padding:8px 12px;font-size:13px;display:block}.view-dropdown-item:hover,.view-dropdown-item.active{color:#714b67;background:#f7f1f5}.analytics-meta{color:#6b7280;margin-bottom:12px;font-size:12px}.analytics-empty{color:#9ca3af;justify-content:center;align-items:center;height:320px;display:flex}.graph-view-container{padding:16px}.graph-toolbar{gap:8px;margin-bottom:16px;display:flex}.graph-type-switch{border:1px solid #d1d5db;border-radius:4px;display:flex;overflow:hidden}.graph-type-btn{color:#6b7280;cursor:pointer;background:#f9fafb;border:none;border-left:1px solid #d1d5db;align-items:center;gap:6px;padding:6px 12px;display:flex}.graph-type-btn:first-child{border-left:none}.graph-type-btn:hover{background:#f3f0f2}.graph-type-btn.active{color:#714b67;background:#e8e0ee}.graph-canvas{width:100%;display:block}.pivot-container{padding:16px;overflow:auto}.pivot-scroll{border:1px solid #e5e7eb;border-radius:4px;overflow-x:auto}.pivot-table-odoo{border-collapse:collapse;color:#374151;text-align:right;width:100%;min-width:560px;font-size:13px}.pivot-table-odoo th,.pivot-table-odoo td{border:1px solid #e5e7eb;padding:8px 10px}.pivot-table-odoo thead{background:#f9fafb}.pivot-corner-cell{min-width:140px}.pivot-group-head{background:#f3f0f2;font-weight:600;text-align:left!important}.pivot-col-label{font-weight:500;text-align:left!important}.pivot-measure-head{color:#6b7280;font-size:12px;font-weight:400;text-align:center!important}.pivot-row-label{font-weight:500;text-align:left!important;padding-left:20px!important}.pivot-total-row td{background:#fcfcfc;font-weight:600}.pivot-toggle{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.pivot-table{border-collapse:collapse;font-size:13px}.pivot-table th,.pivot-table td{border:1px solid var(--border);text-align:right;padding:8px 14px}.pivot-corner{text-align:center;color:var(--text-muted);background:#f8f9fa;font-size:11px}.pivot-col-header{text-align:center;background:#f8f9fa;font-size:12px;font-weight:600}.pivot-row-header{text-align:left;background:#f8f9fa;font-weight:600}.pivot-cell{color:var(--text-muted)}.pivot-totals-row td{color:var(--primary);background:#f0eaf3;font-weight:600}.pivot-grand-total{color:var(--primary);font-weight:700}.calendar-container{padding:16px}.calendar-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.cal-title{text-align:center;min-width:180px;font-size:16px;font-weight:600}.cal-nav-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);width:30px;height:30px;transition:background var(--transition);justify-content:center;align-items:center;display:flex}.cal-nav-btn:hover{background:var(--bg)}.cal-today-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);transition:background var(--transition);margin-left:auto;padding:4px 12px;font-size:12px}.cal-today-btn:hover{background:var(--bg)}.calendar-grid{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.cal-day-name{text-align:center;color:var(--text-muted);border-bottom:1px solid var(--border);text-transform:uppercase;background:#fafbfc;padding:8px 4px;font-size:11px;font-weight:600}.cal-cell{border:1px solid var(--border-light);background:var(--surface);vertical-align:top;min-height:90px;transition:background var(--transition);padding:6px}.cal-cell:hover,.cal-cell-empty{background:#fafbfc}.cal-cell-today{background:#f0eaf3}.cal-cell-today .cal-date-num{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.cal-date-num{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:600}.cal-events{flex-direction:column;gap:2px;display:flex}.cal-event{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:3px;padding:2px 5px;font-size:10px;overflow:hidden}.cal-more{color:var(--text-muted);padding:1px 4px;font-size:10px}.activity-container{padding:16px}.activity-item{gap:14px;display:flex}.activity-icon-col{flex-direction:column;align-items:center;display:flex}.activity-icon{background:var(--bg);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.activity-line{background:var(--border);flex:1;width:1px;min-height:20px;margin:4px 0}.activity-content{flex:1;padding-bottom:20px}.activity-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.activity-title{font-size:13px;font-weight:600}.activity-date{color:var(--text-muted);margin-left:auto;font-size:11px}.activity-desc{color:var(--text-muted);font-size:12px}.activity-status-badge{color:#fff;border-radius:10px;padding:2px 7px;font-size:11px;font-weight:500}.status-done{background:var(--success)}.status-pending{background:var(--warning)}.status-overdue{background:var(--danger)}.status-scheduled{background:var(--info)}.status-active{background:var(--success)}.status-inactive{background:var(--text-muted)}.modal-overlay{z-index:8000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:520px;max-height:90vh;animation:.18s fadeDown;display:flex}.modal-lg{max-width:680px}.modal-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:16px 20px;display:flex}.modal-title{flex:1;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.modal-close-btn{color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:none;padding:2px;display:flex}.modal-close-btn:hover{background:var(--bg);color:var(--text)}.modal-body{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-group{flex-direction:column;gap:5px;display:flex}.form-group-full{grid-column:1/-1}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.required-star{color:var(--danger)}.form-control{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;height:34px;transition:border-color var(--transition);outline:none;padding:0 10px;font-size:13px}.form-control:focus{border-color:var(--primary)}.form-control-readonly{color:#374151;cursor:default;background:#f3f4f6}.form-control-error{border-color:var(--danger)}textarea.form-control{resize:vertical;height:auto;padding:8px 10px}.form-error{color:var(--danger);margin-top:2px;font-size:11px}.import-info{border-radius:var(--radius);color:#1a5276;background:#ebf5fb;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.import-file-input{display:none}.import-error{border-radius:var(--radius);color:var(--danger);background:#fdedec;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.import-preview{flex-direction:column;gap:8px;display:flex}.import-preview-title{color:var(--success);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.export-section{flex-direction:column;gap:8px;display:flex}.export-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.export-radio-group{flex-direction:column;gap:6px;display:flex}.export-radio{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.export-cols-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.export-col-checkbox{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.odoo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px}.em-placeholder{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:360px;padding:48px 24px;display:flex}.em-placeholder-icon{width:56px;height:56px;color:var(--gold);background:var(--cream-dark);border-radius:14px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.em-placeholder-title{font-family:var(--font-cinzel), "Cinzel", Georgia, serif;letter-spacing:.12em;color:var(--ink);font-size:22px;font-weight:700}.em-placeholder-copy{color:var(--text-muted);font-size:13px}.em-layout{padding:0 24px 20px}.crm-tabs.em-page-tabs{margin:0}.em-page-tabs .crm-tab{gap:8px;padding:14px 22px;font-size:16px;font-weight:500;text-decoration:none}.em-page-tabs .crm-tab-active{font-weight:700}.em-tab-body{padding-top:8px}.projects-layout{padding:0 24px 20px}.projects-layout:has(.pd-page){padding:0}.projects-layout .projects-page-tabs{margin:0}.projects-tab-body{padding-top:12px}.em-status-cell{align-items:center;gap:8px;display:inline-flex}.em-status-badge{border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.em-complete-btn{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.em-complete-btn:hover{background:#d1fae5}.em-date-filter{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.em-date-scope{border:1px solid var(--border);letter-spacing:.04em;text-transform:uppercase;height:32px;color:var(--ink);background:#fff;border-radius:999px;padding:0 12px;font-size:12px;font-weight:700}.em-date-period{border:1px solid var(--border);background:#fff;border-radius:999px;align-items:center;gap:8px;height:32px;padding:0 8px;display:inline-flex}.em-date-nav{width:24px;height:24px;color:var(--ink);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.em-date-nav:hover{background:var(--cream-dark)}.em-date-period-label{letter-spacing:.04em;color:var(--ink);white-space:nowrap;font-size:12px;font-weight:700}.em-date-range{border:1px solid var(--border);height:32px;color:var(--text-muted);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:12px;font-weight:600;display:inline-flex}.em-date-range-field{color:var(--ink);align-items:center;gap:6px;display:inline-flex;position:relative}.em-date-range-field input[type=date]{color:var(--ink);letter-spacing:.02em;background:0 0;border:none;width:118px;min-width:0;padding:0;font-size:12px;font-weight:700}.em-date-range-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}.em-date-range-to{color:var(--text-muted);letter-spacing:.06em;font-size:11px;font-weight:700}.em-date-range-clear{width:22px;height:22px;color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.em-date-range-clear:hover{background:var(--cream-dark);color:var(--ink)}.em-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:920px;margin:0 auto;display:grid}.em-tile{background:var(--surface);border:1px solid var(--border);min-height:220px;box-shadow:var(--shadow-sm);color:var(--ink);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:32px 20px;text-decoration:none;display:flex}.em-tile:hover{box-shadow:var(--shadow);border-color:var(--gold);transform:translateY(-3px)}.em-tile-icon{width:72px;height:72px;color:var(--gold);background:var(--cream-dark);border-radius:18px;justify-content:center;align-items:center;display:flex}.em-tile-label{font-family:var(--font-cinzel), "Cinzel", Georgia, serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-size:16px;font-weight:700}@media (max-width:768px){.em-tiles{grid-template-columns:1fr}}.stat-card{align-items:center;gap:16px;display:flex}.stat-icon{opacity:.85}.stat-value{font-size:26px;font-weight:300;line-height:1.1}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-size:11px}@media (max-width:768px){.navbar-nav,.navbar-brand{display:none}.navbar-logo-cutout{border-radius:10px 10px 0 0;width:110px;height:46px;margin:0 6px -1px 2px}.user-pill-meta,.user-pill-divider{display:none}.user-avatar-btn{padding:4px}.form-grid{grid-template-columns:1fr}.modules-grid{grid-template-columns:repeat(auto-fill,100px)}.page-header{flex-direction:column;align-items:flex-start}.page-header-right{width:100%}.ucl-page .page-header.ucl-page-header-merged{flex-flow:wrap;align-items:center}.ucl-page .ucl-page-header-merged .page-header-right{flex-wrap:wrap;width:auto}}.home-apps-wrap{width:100%;max-width:920px}.modules-grid-home{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));place-content:start center;gap:28px 16px;max-width:920px;margin:0 auto;display:grid}.module-tile-home{border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition), transform var(--transition);flex-direction:column;align-items:center;gap:10px;padding:12px 8px;text-decoration:none;display:flex;position:relative}.module-tile-home:hover{background:#ffffffb3;transform:translateY(-2px)}.module-img{object-fit:contain;width:70px;height:70px;box-shadow:none;transition:transform var(--transition);background:0 0;border-radius:0}.module-tile-home:hover .module-img{box-shadow:none;transform:scale(1.06)}.module-label-home{color:var(--text);text-align:center;letter-spacing:.1px;font-size:13px;font-weight:500;line-height:1.25}.module-tile-soon{opacity:.7;cursor:default}.module-img-soon{filter:grayscale(.15);opacity:.9}.module-soon-badge{text-transform:uppercase;letter-spacing:.04em;color:#985184;background:#fff;border:1px solid #e5d0df;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700;position:absolute;top:8px;right:12px}.masters-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.masters-title{color:var(--primary);align-items:center;gap:8px;margin:0 0 4px;font-size:22px;font-weight:700;display:flex}.masters-subtitle{color:var(--text-muted);margin:0;font-size:13px}.masters-hint{color:#9a3412;border-radius:var(--radius);background:#fff7ed;border:1px solid #fed7aa;align-items:center;gap:8px;max-width:360px;padding:10px 12px;font-size:12px;display:flex}.masters-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-bottom:10px;padding-bottom:10px;display:flex}.masters-tab{color:var(--text-muted);border-radius:var(--radius);transition:background var(--transition), color var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;padding:8px 12px;font-size:13px;font-weight:500}.masters-tab:hover{color:var(--text);background:#fff}.masters-tab-active{color:var(--primary);border-color:var(--border);box-shadow:var(--shadow-sm);background:#fff}.masters-icon-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px;margin:8px 0 14px;padding-bottom:14px;display:flex}.masters-icon-tab{min-width:84px;color:var(--text-muted);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:12px 10px 10px;display:flex}.masters-icon-tab:hover{color:var(--primary);background:#fff;border-color:#e8dde5}.masters-icon-tab-active{color:var(--primary);background:#fff;border-color:#d7c4d2;box-shadow:0 2px 8px #714b671f}.masters-icon-tab-glyph{color:#714b67;background:linear-gradient(145deg,#f7f1f5 0%,#efe4ec 100%);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.masters-icon-tab-active .masters-icon-tab-glyph{color:#fff;background:linear-gradient(145deg,#714b67 0%,#875a7b 100%)}.masters-icon-tab-label{letter-spacing:.02em;font-size:11px;font-weight:600}.masters-tab-desc{color:var(--text-muted);margin:0 0 14px;font-size:12px}.masters-form-title-row{align-items:center;gap:16px;margin-bottom:8px;display:flex}.masters-form-id{color:#6b7280;white-space:nowrap;font-size:16px;font-weight:700}.masters-form-id-new{color:#985184;background:#f7f1f5;border-radius:999px;padding:4px 10px;font-size:12px}.masters-form-hint{color:var(--text-muted);margin:0 0 18px;font-size:12px}.masters-form-badge{color:#6b7280;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:999px;padding:6px 12px;font-size:12px}.masters-textarea{resize:vertical;min-height:72px;padding-top:8px!important;padding-bottom:8px!important}.masters-field-full{grid-column:1/-1}.masters-audit-box{color:#374151;border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:24px;margin-top:24px;padding-top:16px;font-size:13px;display:flex}.enquiry-drawing-box{background:#fbf8fa;border:1px dashed #d7c4d2;border-radius:8px;margin-top:20px;padding:14px 16px}.enquiry-drawing-head{color:#714b67;align-items:center;gap:8px;margin-bottom:10px;font-weight:600;display:flex}.enquiry-drawing-meta{color:#6b7280;margin-top:8px;font-size:12px}.enquiry-drawing-meta a{color:#714b67;font-weight:600}.enquiry-upload-zone{cursor:pointer;background:linear-gradient(#fbf8fa 0%,#f7f1f5 100%);border:1.5px dashed #d7c4d2;border-radius:10px;align-items:center;gap:14px;margin-top:20px;padding:18px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative}.enquiry-upload-zone:hover,.enquiry-upload-zone.is-dragover{background:#f3eaf1;border-color:#714b67;box-shadow:0 0 0 3px #714b6714}.enquiry-upload-zone.has-file{border-style:solid;border-color:#c4a7bc}.enquiry-upload-input{display:none}.enquiry-upload-icon{color:#fff;background:#714b67;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.enquiry-upload-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.enquiry-upload-copy strong{color:#374151;font-size:14px}.enquiry-upload-copy span,.enquiry-upload-copy em{color:#6b7280;font-size:12px;font-style:normal}.enquiry-upload-filename,.enquiry-upload-link{align-items:center;gap:5px;margin-top:4px;font-size:12px;font-weight:600;display:inline-flex;color:#714b67!important}.enquiry-upload-btn{color:#714b67;cursor:pointer;background:#fff;border:1px solid #714b67;border-radius:6px;flex-shrink:0;padding:8px 12px;font-size:12px;font-weight:700}.enquiry-upload-btn:hover{color:#fff;background:#714b67}.enquiry-checklist{color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:20px;padding:14px 16px;font-size:13px}.enquiry-checklist-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.enquiry-checklist-head span{color:#6b7280;font-size:12px;font-weight:600}.enquiry-checklist-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.enquiry-checklist-list li{color:#6b7280;align-items:center;gap:8px;display:flex}.enquiry-checklist-list li.done{color:#047857;font-weight:600}.enquiry-status-legend{color:#6b7280;margin-bottom:10px;font-size:12px;line-height:1.45}.enquiry-status-pills{flex-wrap:wrap;gap:6px;display:flex}.enquiry-status-pill{color:#6b7280;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600}.enquiry-status-pill.active{color:#fff;background:#714b67;border-color:#714b67}.enquiry-status-pill.is-locked{opacity:.55;cursor:not-allowed}.stage-convert-btn{color:#c2410c;cursor:pointer;white-space:nowrap;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;align-items:center;gap:5px;margin-right:6px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.stage-convert-btn:hover{background:#ffedd5}.enquiry-row-btn{color:#c2410c;cursor:pointer;white-space:nowrap;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.enquiry-row-btn:hover{background:#ffedd5}.enquiry-row-btn-done{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.enquiry-row-btn-done:hover{background:#d1fae5}.ml-auto{margin-left:auto}.nav-link-active{font-weight:600;color:#fff!important;background:#ffffff2e!important}.btn-new{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.btn-new:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.btn-sm{padding:5px 10px;font-size:12px}.inline-new-row{border-left:3px solid var(--primary);background:#fef9ff}.inline-new-row td{padding:6px 8px!important}.inline-new-cell{min-width:120px}.inline-cell-input{border:1px solid var(--primary);border-radius:var(--radius-sm);background:#fff;outline:none;width:100%;height:30px;padding:0 8px;font-size:13px}.inline-cell-input:focus{box-shadow:0 0 0 2px #714b6733}.inline-other-input{align-items:center;gap:4px;display:flex}.inline-other-input .inline-cell-input{flex:1;min-width:0}.inline-other-back{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:28px;height:30px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.inline-other-back:hover{color:var(--text);border-color:var(--primary)}.inline-cell-static{color:var(--text-muted)}.inline-new-actions{white-space:nowrap;gap:4px;display:flex}.inline-save-btn,.inline-discard-btn{border-radius:var(--radius-sm);cursor:pointer;width:26px;height:26px;transition:background var(--transition);border:none;justify-content:center;align-items:center;display:flex}.inline-save-btn{background:var(--success);color:#fff}.inline-save-btn:hover{background:#219a52}.inline-discard-btn{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.inline-discard-btn:hover{background:var(--border)}.data-row{cursor:pointer}.status-done{color:var(--success);align-items:center;gap:4px;font-weight:500;display:inline-flex}.crm-form-page{min-height:calc(100vh - var(--navbar-h));flex-direction:column;display:flex}.crm-topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:0;padding:8px 0;display:flex}.crm-topbar-left{flex:1;align-items:center;gap:8px;display:flex}.crm-topbar-right{gap:4px;display:flex}.crm-breadcrumb-link{color:var(--primary);font-size:14px;font-weight:500}.crm-breadcrumb-link:hover{text-decoration:underline}.crm-breadcrumb-sep{color:var(--text-muted)}.crm-breadcrumb-cur{color:var(--text-muted);font-size:14px}.crm-action-btn{background:var(--primary);border-radius:var(--radius-sm);cursor:pointer;color:#fff;width:32px;height:32px;transition:opacity var(--transition);border:none;justify-content:center;align-items:center;display:flex}.crm-action-btn:hover{opacity:.85}.crm-action-btn.crm-action-discard{background:var(--danger)}.crm-action-btn.crm-action-discard:hover{opacity:.85}.crm-quick-actions{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:0;padding:10px 0;display:flex}.crm-qa-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), box-shadow var(--transition);align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.crm-qa-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.crm-qa-btn:hover{box-shadow:var(--shadow-sm)}.crm-stages{align-items:center;margin-left:auto;display:flex}.crm-stage-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:background var(--transition);border-right:none;align-items:center;gap:4px;padding:6px 14px;font-size:13px;display:flex}.crm-stage-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.crm-stage-btn:last-child{border-right:1px solid var(--border);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.crm-stage-btn:hover{background:var(--bg)}.crm-stage-active{font-weight:600;background:var(--bg)!important;border-top-width:2px!important}.stage-arrow{color:var(--border)}.crm-form-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex:1;gap:0;margin-top:8px;display:flex;overflow:hidden}.crm-form-main{flex:1;padding:24px;overflow-y:auto}.crm-chatter{border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:300px;max-height:calc(100vh - 180px);display:flex}.crm-title-input{width:100%;color:var(--text);border:none;border-bottom:2px solid var(--border-light);transition:border-color var(--transition);background:0 0;outline:none;margin-bottom:16px;padding:4px 0;font-size:24px;font-weight:300}.crm-title-input:focus{border-bottom-color:var(--secondary)}.crm-title-input::placeholder{color:var(--text-light)}.crm-revenue-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.crm-revenue-field{flex-direction:column;gap:3px;display:flex}.crm-revenue-sep{color:var(--text-muted);margin-top:16px;font-size:18px}.crm-probability{flex-direction:column;gap:3px;margin-left:auto;display:flex}.crm-prob-row{align-items:center;gap:6px;display:flex}.crm-prob-input{width:60px!important}.crm-fields-grid{grid-template-columns:1fr 1fr;gap:0;margin-bottom:16px;display:grid}.crm-fields-col{flex-direction:column;display:flex}.crm-field-row{border-bottom:1px solid var(--border-light);transition:border-color var(--transition);align-items:center;gap:8px;padding:7px 0;display:flex}.crm-field-row:focus-within{border-bottom-color:var(--secondary)}.crm-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:3px;font-size:11px;font-weight:600}.crm-field-label-left{min-width:120px;color:var(--text-muted);flex-shrink:0;align-items:center;gap:5px;font-size:12px;display:flex}.crm-field-input{height:34px;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:0 6px;font-size:13px}.crm-field-muted{color:var(--text-muted)}.crm-stars{gap:4px;display:flex}.crm-tabs{border-bottom:2px solid var(--border);gap:0;margin:16px 0 0;display:flex}.crm-tab{cursor:pointer;color:var(--text-muted);transition:color var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:8px 16px;font-size:13px;display:flex}.crm-tab:hover{color:var(--text)}.crm-tab-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.crm-tab-content{padding:12px 0}.crm-notes-area{border:1px solid var(--border-light);border-radius:var(--radius);width:100%;color:var(--text-muted);resize:vertical;transition:border-color var(--transition);outline:none;padding:10px;font-family:inherit;font-size:13px}.crm-notes-area:focus{border-color:var(--secondary);color:var(--text)}.crm-extra-fields{flex-direction:column;gap:8px;display:flex}.chatter-actions{border-bottom:1px solid var(--border);gap:4px;padding:12px;display:flex}.chatter-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);transition:background var(--transition);align-items:center;gap:5px;padding:6px 12px;font-size:12px;display:inline-flex}.chatter-btn:hover{background:var(--bg)}.chatter-btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.chatter-btn-primary:hover{background:var(--primary-dark)}.chatter-log{flex-direction:column;flex:1;gap:12px;padding:12px;display:flex;overflow-y:auto}.chatter-date-sep{text-align:center;color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.chatter-msg{gap:10px;display:flex}.chatter-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.chatter-msg-body{flex:1}.chatter-msg-meta{align-items:baseline;gap:8px;margin-bottom:3px;display:flex}.chatter-author{font-size:12px;font-weight:600}.chatter-time{color:var(--text-muted);font-size:11px}.chatter-text{color:var(--text-muted);font-size:12px}.chatter-input-row{border-top:1px solid var(--border);gap:6px;padding:10px 12px;display:flex}.chatter-input{border:1px solid var(--border);border-radius:var(--radius-sm);height:32px;transition:border-color var(--transition);outline:none;flex:1;padding:0 10px;font-size:12px}.chatter-input:focus{border-color:var(--primary)}.navbar-restricted{pointer-events:none;filter:blur(1px);opacity:.7}.odoo-table th,table th{background-color:var(--primary)!important;color:#fff!important}.stages-container{background-color:#f9fafb;align-items:stretch;height:calc(100vh - 130px);margin:-16px;display:flex;overflow:hidden}.stages-sidebar{background-color:#fff;border-right:1px solid #e5e7eb;flex-direction:column;width:256px;height:100%;display:flex;overflow-y:auto}.stage-card-actions-pill{background-color:#fff;border:1px solid #e5e7eb;border-radius:9999px;align-items:center;gap:8px;margin-left:12px;padding:6px 12px;display:flex;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.stages-sidebar-header{color:#374151;z-index:10;background-color:#fff;border-bottom:1px solid #f3f4f6;padding:16px;font-weight:600;position:sticky;top:0}.stages-sidebar-menu{flex-direction:column;gap:4px;padding:8px;display:flex}.stage-btn{color:#4b5563;text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.stage-btn:hover{background-color:#f3f4f6}.stage-btn.active{color:#7e22ce;background-color:#f3e8ff}.stage-btn-completed.active{color:#15803d;background-color:#dcfce7}.stage-badge{color:#6b7280;background-color:#f3f4f6;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 8px;font-size:12px;display:inline-flex}.stage-btn.active .stage-badge{color:#6b21a8;background-color:#e9d5ff}.stage-btn-completed.active .stage-badge{color:#166534;background-color:#bbf7d0}.stages-content{background-color:#f9fafb;flex:1;padding:24px;overflow-y:auto}.stages-content-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.stages-content-title{color:#1f2937;font-size:20px;font-weight:700}.stages-content-count{color:#6b7280;font-size:14px;font-weight:500}.stages-empty{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;height:256px;display:flex}.stages-grid{flex-direction:column;gap:12px;display:flex}.stage-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;padding:12px;transition:box-shadow .2s;display:flex;position:relative;box-shadow:0 1px 2px #0000000d}.stage-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.stage-card-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;display:flex}.stage-card-header-left,.stage-card-header-right{align-items:center;gap:12px;display:flex}.stage-card-id-badge{color:#0369a1;background-color:#e0f2fe;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600}.stage-card-title{color:#111827;font-size:16px;font-weight:700}.stage-card-type-badge{color:#0369a1;background-color:#e0f2fe;border-radius:12px;padding:2px 8px;font-size:11px}.stage-card-timer{font-size:12px;font-weight:600}.stage-card-timer.delayed{color:#ef4444}.stage-card-actions{gap:6px;display:flex}.stage-action-icon{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:all .2s;display:flex}.stage-action-icon:hover{color:#111827;background:#f3f4f6;border-color:#e5e7eb}.stage-action-icon.danger:hover{color:#ef4444;background:#fef2f2}.stage-action-icon.success:hover{color:#10b981;background:#ecfdf5}.stage-card-data-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.stage-data-item{align-items:flex-start;gap:6px;display:flex}.stage-data-icon{background-color:#f9fafb;border-radius:6px;margin-top:1px;padding:3px}.stage-data-content{flex-direction:column;display:flex}.stage-data-label{text-transform:uppercase;color:#6b7280;letter-spacing:.05em;margin-bottom:2px;font-size:9px;font-weight:700}.stage-data-value{color:#1f2937;font-size:13px;font-weight:500}.crm-stage-arrow{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%);cursor:default;justify-content:center;align-items:center;margin-left:-8px;padding:6px 14px 6px 22px;font-size:12px;font-weight:600;display:flex;position:relative}.crm-stage-arrow:first-child{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);border-top-left-radius:4px;border-bottom-left-radius:4px;margin-left:0;padding-left:16px}.crm-stage-arrow:last-child{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,10px 50%);border-top-right-radius:4px;border-bottom-right-radius:4px;padding-right:16px}.crm-stage-arrow.completed,.crm-stage-arrow.active{background-color:var(--primary);color:#fff}.crm-stage-arrow.todo{color:#9ca3af;background-color:#f9fafb}.project-lifecycle{flex-direction:column;gap:8px;display:flex}.project-lifecycle-full{margin-bottom:16px}.crm-form-page>.project-lifecycle-full{margin-bottom:12px}.project-lifecycle-compact{margin-top:-4px}.project-lifecycle-pending-label{color:var(--text-muted,#6b7280);margin:0;font-size:11px}.project-lifecycle-pending-label strong{color:#b45309;font-weight:600}.project-lifecycle-track{scrollbar-width:thin;flex-wrap:nowrap;align-items:stretch;padding-bottom:2px;display:flex;overflow-x:auto}.project-lifecycle-link{flex-shrink:0;margin-left:-7px;text-decoration:none;display:flex}.project-lifecycle-link:first-child{margin-left:0}.project-lifecycle-link-static{pointer-events:none}.project-lifecycle-step{white-space:nowrap;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%,9px 50%);justify-content:center;align-items:center;padding:6px 12px 6px 18px;font-size:11px;font-weight:600;line-height:1.2;transition:filter .15s;display:flex;position:relative}.project-lifecycle-full .project-lifecycle-step{padding:8px 16px 8px 22px;font-size:12px}.project-lifecycle-link:first-child .project-lifecycle-step{clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);border-top-left-radius:4px;border-bottom-left-radius:4px;padding-left:14px}.project-lifecycle-full .project-lifecycle-link:first-child .project-lifecycle-step{padding-left:18px}.project-lifecycle-link:last-child .project-lifecycle-step{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,9px 50%);border-top-right-radius:4px;border-bottom-right-radius:4px;padding-right:14px}.project-lifecycle-full .project-lifecycle-link:last-child .project-lifecycle-step{padding-right:18px}.project-lifecycle-step-completed{background:var(--primary,#985184);color:#fff}.project-lifecycle-link:not(.project-lifecycle-link-static):hover .project-lifecycle-step-completed{filter:brightness(1.08)}.project-lifecycle-step-pending{color:#fff;background:#f59e0b;box-shadow:0 0 0 2px #f59e0b59}.project-lifecycle-link:not(.project-lifecycle-link-static):hover .project-lifecycle-step-pending{filter:brightness(1.05)}.project-lifecycle-step-not_started{color:#9ca3af;background:#f3f4f6}.project-lifecycle-step-future{color:#a1a1aa;opacity:.85;background:#e5e7eb}.purchase-pipeline-roadmap{background:linear-gradient(135deg,#faf8fb 0%,#f5f7fa 100%);border:1px solid #e8e4ec;border-radius:10px;margin:16px 0 20px;padding:14px 16px}.purchase-pipeline-roadmap-hint{color:#6b7280;margin:0 0 10px;font-size:12px}.purchase-pipeline-roadmap-hint strong{color:#b45309;font-weight:600}.purchase-pipeline-track{scrollbar-width:thin;flex-wrap:nowrap;align-items:stretch;gap:0;padding-bottom:4px;display:flex;overflow-x:auto}.purchase-pipeline-link{cursor:pointer;font:inherit;background:0 0;border:none;flex-shrink:0;margin-left:-6px;padding:0;display:flex}.purchase-pipeline-link-first{margin-left:0}.purchase-pipeline-step{white-space:nowrap;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%,8px 50%);justify-content:center;align-items:center;min-width:4.5rem;padding:7px 14px 7px 20px;font-size:11px;font-weight:600;line-height:1.15;transition:filter .15s,transform .12s,box-shadow .15s;display:flex;position:relative}.purchase-pipeline-link-first .purchase-pipeline-step{clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%);border-top-left-radius:5px;border-bottom-left-radius:5px;padding-left:12px}.purchase-pipeline-link-last .purchase-pipeline-step{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,8px 50%);border-top-right-radius:5px;border-bottom-right-radius:5px;padding-right:12px}.purchase-pipeline-link:hover .purchase-pipeline-step{filter:brightness(1.06);transform:translateY(-1px)}.purchase-pipeline-step-completed{background:linear-gradient(180deg, #a86b96 0%, var(--primary,#985184) 100%);color:#fff}.purchase-pipeline-step-pending{color:#fff;z-index:1;background:linear-gradient(#fbbf24 0%,#f59e0b 100%);box-shadow:0 0 0 2px #f59e0b66,0 2px 8px #f59e0b59}.purchase-pipeline-step-not_started{color:#9ca3af;background:#eceef2}.purchase-pipeline-step-viewing{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--primary,#985184);z-index:2}.purchase-pipeline-step-pending.purchase-pipeline-step-viewing{box-shadow:0 0 0 2px #fff,0 0 0 4px #f59e0b,0 2px 10px #f59e0b66}.kanban-action-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background-color .2s;display:flex}.kanban-action-btn:hover{background-color:#f3f4f6}.costing-start-guide{background:linear-gradient(#fbf8fa 0%,#fff 100%);border:1px solid #e8dce4;border-radius:10px;flex-wrap:wrap;align-items:stretch;gap:12px;margin-bottom:20px;padding:16px 20px;display:flex}.costing-start-step{flex:1;align-items:flex-start;gap:12px;min-width:180px;display:flex}.costing-start-num{color:#fff;background:#714b67;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.costing-start-step strong{color:#374151;font-size:13px;display:block}.costing-start-step p{color:#6b7280;margin:2px 0 0;font-size:12px}.costing-start-arrow{color:#714b67;align-self:center;font-size:18px;font-weight:700}.costing-action-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.costing-action-start{color:#fff;background:#005e7a;border-color:#005e7a}.costing-action-start:hover{background:#004a60}.costing-action-open{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.costing-action-open:hover{background:#d1fae5}.costing-roadmap{background:#fafafa;border-bottom:1px solid #eee;flex-wrap:wrap;gap:6px;padding:12px 16px;display:flex}.costing-roadmap-step{color:#9ca3af;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:inline-flex}.costing-roadmap-step.done{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.costing-roadmap-step.active{color:#fff;background:#714b67;border-color:#714b67}.costing-workspace-tabs{background:#fff;border-bottom:1px solid #eee;padding:0 16px}.costing-page-head{flex-direction:column;flex-shrink:0;gap:2px;margin-bottom:6px;display:flex}.costing-module-head-row{border-bottom:2px solid var(--border);align-items:center;gap:12px;min-height:0;padding-bottom:2px;display:flex}.costing-module-head-row .costing-module-tabs{border-bottom:none;flex-shrink:0;margin:0}.costing-module-roadmap{flex:1;min-width:0;margin:0;padding-bottom:0}.project-lifecycle-inline{gap:0;margin:0}.project-lifecycle-inline .project-lifecycle-track{justify-content:flex-end;padding-bottom:0}.project-lifecycle-inline .project-lifecycle-step{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%,11px 50%);padding:8px 14px 8px 22px;font-size:12px;font-weight:600}.project-lifecycle-inline .project-lifecycle-link{margin-left:-9px}.project-lifecycle-inline .project-lifecycle-link:first-child{margin-left:0}.project-lifecycle-inline .project-lifecycle-link:first-child .project-lifecycle-step{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%);padding-left:16px}.project-lifecycle-inline .project-lifecycle-link:last-child .project-lifecycle-step{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,11px 50%);padding-right:16px}.costing-page-head+.crm-form-body{margin-top:4px}.sales-order-module-tabs{border-bottom:none;flex-shrink:0;margin:0}.sales-order-module-head-row .sales-order-module-help{flex-shrink:0;margin-left:auto}.sales-order-workspace-actions{flex-wrap:wrap;gap:8px;margin-bottom:8px}.sales-order-workspace-title{color:var(--text);align-items:center;gap:6px;margin-right:8px;font-size:14px;font-weight:600;display:inline-flex}.quotation-module-tabs{border-bottom:none;flex-shrink:0;margin:0}.quotation-module-head-row .quotation-module-help{flex-shrink:0;margin-left:auto}.quotation-workspace-actions{flex-wrap:wrap;gap:8px;margin-bottom:8px}.quotation-workspace-title{color:var(--text);align-items:center;gap:6px;margin-right:8px;font-size:14px;font-weight:600;display:inline-flex}.product-library-module-tabs{margin:0}.pl-workspace-title{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.pl-workspace-title .masters-title{margin:0 0 4px}.pl-workspace-title .masters-subtitle{margin:0}.pl-workspace-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.pl-workspace-filters .crm-field-input{max-width:280px}.pl-load-error{background:#fdf0ef;border-color:#f5c6c2;margin-bottom:8px}.pl-workspace-body{margin-top:0}.pl-data-row{cursor:pointer}.pl-data-row:hover td{background:#faf8f6}.pl-row-actions{text-align:right;width:44px}.pl-row-actions .costing-icon-btn{opacity:.55}.pl-data-row:hover .pl-row-actions .costing-icon-btn{opacity:1}.costing-workspace-step-tabs{border-bottom:2px solid var(--border);margin:0}.costing-workspace-step-tabs .crm-tab{gap:5px;padding:8px 12px;font-size:13px;font-weight:500}.costing-workspace-step-tabs .crm-tab-active{font-weight:600}.costing-workspace-step-tabs .costing-ws-tab-completed:not(.crm-tab-active){color:var(--primary,#985184)}.costing-workspace-step-tabs .costing-ws-tab-pending:not(.crm-tab-active){color:#b45309;background:#f59e0b1a;border-radius:8px 8px 0 0}.costing-workspace-step-tabs .costing-ws-tab-not_started{color:#9ca3af}.costing-workspace-step-tabs .costing-ws-tab-completed.crm-tab-active{border-bottom-color:var(--primary,#985184)}.costing-workspace-step-tabs .costing-ws-tab-pending.crm-tab-active{color:#b45309;border-bottom-color:#f59e0b}.costing-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.costing-section-head h3{color:#374151;margin:0;font-size:16px}.costing-section-head span{color:#6b7280;font-size:12px}.costing-table-wrap{background:#fff;border:1px solid #eee;border-radius:8px;overflow-x:auto}.costing-table{border-collapse:collapse;width:100%;font-size:13px}.costing-table thead{color:#fff;background:#714b67}.costing-table th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600}.costing-table td{color:#374151;border-bottom:1px solid #f3f4f6;padding:10px 12px}.costing-table-wide .costing-master-cell{min-width:220px}.costing-table-scroll{overflow-x:auto}.costing-table-scroll .costing-table{min-width:960px}.costing-table-wide .costing-master-cell select{width:100%;margin-bottom:4px}.costing-form-box{background:#fbf8fa;border:1px dashed #d7c4d2;border-radius:8px;margin-top:16px;padding:14px 16px}.costing-form-box h4{color:#714b67;margin:0 0 10px;font-size:13px}.costing-form-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.costing-form-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.costing-chip-list{flex-wrap:wrap;gap:8px;display:flex}.costing-chip{color:#374151;background:#f3f4f6;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.costing-chip button{cursor:pointer;color:#9ca3af;background:0 0;border:none;font-size:16px;line-height:1}.costing-icon-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;padding:4px}.costing-icon-btn:hover{color:#dc2626;background:#fee2e2}.costing-icon-btn-save:hover{color:#059669;background:#d1fae5}.costing-row-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.costing-icon-btn-save{color:#059669}.costing-row-editing{background:#f0fdf4}.costing-summary-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:16px;display:grid}.costing-summary-card{background:#fff;border:1px solid #eee;border-radius:8px;padding:14px}.costing-summary-card span{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;font-size:11px;display:block}.costing-summary-card strong{color:#374151;margin-top:4px;font-size:18px;display:block}.costing-summary-total{background:#714b67;border-color:#714b67}.costing-summary-total span,.costing-summary-total strong{color:#fff}.costing-timeline-item{border-bottom:1px solid #f3f4f6;padding:10px 0;font-size:13px}.costing-timeline-item strong{color:#374151;display:block}.costing-timeline-item span{color:#9ca3af;font-size:11px}.costing-hero-actions{flex-wrap:wrap;gap:10px}.costing-help-trigger{color:#714b67;cursor:pointer;background:#fff;border:1px solid #714b67;border-radius:6px;align-items:center;gap:6px;margin-left:auto;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.costing-help-trigger:hover{color:#fff;background:#714b67}.costing-help-overlay{z-index:9999;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.costing-help-modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:720px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.costing-help-modal-head{color:#fff;background:#714b67;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.costing-help-modal-head h2{align-items:center;gap:10px;margin:0;font-size:18px;display:flex}.costing-help-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:6px;padding:6px}.costing-help-body{color:#374151;padding:20px;font-size:13px;line-height:1.55;overflow-y:auto}.costing-help-body section{margin-bottom:24px}.costing-help-body h3{color:#714b67;margin:0 0 10px;font-size:14px}.costing-help-ol{margin:0;padding-left:20px}.costing-help-ol li{margin-bottom:8px}.costing-help-steps{flex-direction:column;gap:8px;display:flex}.costing-help-step{border:1px solid #eee;border-radius:8px;overflow:hidden}.costing-help-step summary{cursor:pointer;background:#fafafa;align-items:center;gap:10px;padding:10px 12px;font-weight:600;display:flex}.costing-help-step-num{color:#fff;background:#714b67;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:inline-flex}.costing-help-step-body{border-top:1px solid #eee;padding:12px 16px}.costing-help-step-body p{margin:0 0 6px}.costing-help-note{color:#92400e;background:#fffbeb;border-radius:6px;padding:8px;margin-top:8px!important}.costing-help-table{border-collapse:collapse;width:100%;font-size:12px}.costing-help-table th,.costing-help-table td{text-align:left;border:1px solid #eee;padding:8px 10px}.costing-help-table th{background:#f9fafb}.costing-help-table code{background:#f3f4f6;border-radius:4px;padding:2px 5px;font-size:11px}.costing-help-buttons{margin:0;padding-left:18px}.costing-help-buttons li{margin-bottom:8px}.costing-help-dev ul{margin:0;padding-left:18px;font-family:monospace;font-size:12px}.costing-inline-hint{margin-bottom:10px}.costing-inline-hint-toggle{color:#714b67;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.costing-inline-hint-body{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;margin-top:8px;padding:10px 12px;font-size:12px}.costing-inline-hint-body p{margin:0}.costing-enquiry-context{color:#1e40af;background:#eff6ff;border-bottom:1px solid #bfdbfe;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:flex}.costing-enquiry-context code{background:#fff9;border-radius:4px;padding:2px 5px}.costing-enquiry-status{margin-left:auto;font-weight:700}.costing-empty-master{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;margin-top:10px;padding:16px}.costing-empty-master p{color:#92400e;margin:0 0 10px;font-size:13px}.costing-bulk-box{margin-top:16px}.costing-bulk-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.costing-bulk-head h4{margin:0 0 4px}.costing-bulk-sub{color:#6b7280;margin:0;font-size:12px}.costing-bulk-actions{flex-shrink:0;gap:8px;display:flex}.costing-bulk-table td{vertical-align:top}.costing-component-picks{flex-wrap:wrap;gap:6px 10px;max-width:420px;display:flex}.costing-component-pick{color:#374151;cursor:pointer;white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:inline-flex}.costing-component-pick input{accent-color:#714b67;margin:0}.costing-field-label{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.cost-approval-toolbar{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.cost-approval-toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.cost-approval-steps{color:#4b5563;margin:0;padding-left:18px;font-size:13px;line-height:1.6}.cost-approval-status-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.cost-approval-status-badge{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:999px;align-items:center;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.cost-approval-status-badge.approved{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.cost-approval-doc-wrap{background:#e5e7eb;border-radius:8px;padding:24px;overflow-x:auto}.cost-approval-doc{color:#111827;background:#fff;width:210mm;max-width:100%;min-height:297mm;margin:0 auto;padding:14mm 16mm;font-family:Georgia,Times New Roman,Times,serif;font-size:11pt;line-height:1.45;box-shadow:0 4px 24px #0000001f}.cost-approval-doc-header{border-bottom:3px solid #1e3a5f;justify-content:space-between;gap:20px;margin-bottom:18px;padding-bottom:14px;display:flex}.cost-approval-doc-brand{align-items:flex-start;gap:12px;display:flex}.cost-approval-doc-logo{color:#fff;background:linear-gradient(135deg,#714b67,#1e3a5f);border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;font-family:system-ui,sans-serif;font-size:22px;font-weight:800;display:flex}.cost-approval-doc-company{letter-spacing:.08em;color:#1e3a5f;margin:0;font-size:20pt;font-weight:700}.cost-approval-doc-tagline{color:#6b7280;margin:2px 0 0;font-family:system-ui,sans-serif;font-size:9pt}.cost-approval-doc-meta{text-align:right;font-family:system-ui,sans-serif}.cost-approval-doc-title{color:#1e3a5f;text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:11pt;font-weight:700}.cost-approval-doc-meta-table{border-collapse:collapse;font-size:9pt}.cost-approval-doc-meta-table td{text-align:right;padding:2px 0 2px 12px}.cost-approval-doc-meta-table td:first-child{color:#6b7280;padding-left:0}.cost-approval-doc-status{border-radius:4px;padding:2px 8px;font-size:8pt;font-weight:600;display:inline-block}.cost-approval-doc-status--draft{color:#92400e;background:#fef3c7}.cost-approval-doc-status--approved{color:#065f46;background:#d1fae5}.cost-approval-doc-section{page-break-inside:avoid;margin-bottom:16px}.cost-approval-doc-section h2{text-transform:uppercase;letter-spacing:.06em;color:#1e3a5f;border-bottom:1px solid #d1d5db;margin:0 0 8px;padding-bottom:4px;font-family:system-ui,sans-serif;font-size:10pt;font-weight:700}.cost-approval-doc-grid-table,.cost-approval-doc-data-table,.cost-approval-doc-summary-table{border-collapse:collapse;width:100%;font-family:system-ui,sans-serif;font-size:9pt}.cost-approval-doc-grid-table td{vertical-align:top;border:1px solid #e5e7eb;padding:6px 8px}.cost-approval-doc-grid-table td:nth-child(odd){color:#6b7280;background:#f9fafb;width:18%;font-weight:600}.cost-approval-doc-data-table th,.cost-approval-doc-data-table td{text-align:left;vertical-align:top;border:1px solid #d1d5db;padding:6px 8px}.cost-approval-doc-data-table thead th{color:#fff;text-transform:uppercase;letter-spacing:.03em;background:#1e3a5f;font-size:8pt;font-weight:600}.cost-approval-doc-data-table tbody tr:nth-child(2n){background:#f9fafb}.cost-approval-doc-empty{text-align:center;color:#9ca3af;font-style:italic}.cost-approval-doc-summary-wrap{justify-content:flex-end;display:flex}.cost-approval-doc-summary-table{width:72%;min-width:260px}.cost-approval-doc-summary-table td{border:1px solid #e5e7eb;padding:6px 10px}.cost-approval-doc-summary-table td:last-child{text-align:right;white-space:nowrap;font-weight:600}.cost-approval-doc-subtotal td{background:#f3f4f6;font-weight:600}.cost-approval-doc-final td{color:#fff;background:#1e3a5f;font-size:11pt;font-weight:700}.cost-approval-doc-notes{white-space:pre-wrap;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;margin:0;padding:10px 12px;font-family:system-ui,sans-serif;font-size:9pt}.cost-approval-doc-sig-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.cost-approval-doc-sig-box{font-family:system-ui,sans-serif;font-size:9pt}.cost-approval-doc-sig-role{color:#374151;margin:0 0 8px;font-weight:700}.cost-approval-doc-sig-line{border-bottom:1px solid #374151;height:48px;margin-bottom:8px}.cost-approval-doc-sig-box p{margin:4px 0}.cost-approval-doc-footer{color:#9ca3af;text-align:center;border-top:1px solid #d1d5db;margin-top:20px;padding-top:10px;font-family:system-ui,sans-serif;font-size:8pt}.cost-approval-doc-footer p{margin:2px 0}@media print{body.printing-approval *{visibility:hidden!important}body.printing-approval .cost-approval-doc,body.printing-approval .cost-approval-doc *{visibility:visible!important}body.printing-approval .cost-approval-doc{width:100%;box-shadow:none;margin:0;padding:12mm 14mm;position:absolute;top:0;left:0}body.printing-approval .cost-approval-toolbar,body.printing-approval .cost-approval-status-row,body.printing-approval .crm-topbar,body.printing-approval .crm-quick-actions,body.printing-approval .costing-roadmap,body.printing-approval .costing-workspace-tabs,body.printing-approval .costing-workspace-step-tabs,body.printing-approval .costing-module-head-row,body.printing-approval .crm-chatter,body.printing-approval .costing-section-head,body.printing-approval .costing-enquiry-context{display:none!important}body.printing-quotation *{visibility:hidden!important}body.printing-quotation .cost-approval-doc,body.printing-quotation .cost-approval-doc *{visibility:visible!important}body.printing-quotation .cost-approval-doc{width:100%;box-shadow:none;margin:0;padding:12mm 14mm;position:absolute;top:0;left:0}body.printing-quotation .crm-quick-actions,body.printing-quotation .masters-icon-tabs,body.printing-quotation .crm-topbar,body.printing-quotation .crm-quick-actions,body.printing-quotation .crm-breadcrumb-row,body.printing-quotation .crm-form-main>:not(.cost-approval-doc-wrap){display:none!important}body.printing-sales-order *{visibility:hidden!important}body.printing-sales-order .cost-approval-doc,body.printing-sales-order .cost-approval-doc *{visibility:visible!important}body.printing-sales-order .cost-approval-doc{width:100%;box-shadow:none;margin:0;padding:12mm 14mm;position:absolute;top:0;left:0}body.printing-sales-order .crm-quick-actions,body.printing-sales-order .masters-icon-tabs,body.printing-sales-order .crm-topbar,body.printing-sales-order .crm-form-main>:not(.cost-approval-doc-wrap){display:none!important}}.prj-form-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-top:12px;padding:16px 18px 22px}.prj-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:20px;padding-bottom:4px;display:flex}.prj-tab{color:var(--text-muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:10px 10px 0 0;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;display:inline-flex}.prj-tab:hover{color:var(--text);background:#f4f1fb}.prj-tab-active{color:#5b4d9a;background:#ece8f8;font-weight:700}.prj-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;width:100%;min-width:0;display:grid}.prj-field{flex-direction:column;gap:6px;min-width:0;display:flex}.prj-field-span-2,.prj-field-full{grid-column:1/-1}.prj-field-label{color:var(--text);align-items:center;gap:6px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.prj-field-icon{width:16px;height:16px;color:var(--gold);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.prj-field-control{box-sizing:border-box;border:1px solid var(--border);width:100%;min-width:0;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);background:#fff;border-radius:4px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.prj-field-control:focus{border-color:var(--gold);box-shadow:0 0 0 3px #a68e6b2e}.prj-field-control::placeholder{color:var(--text-light)}.prj-field-textarea{resize:vertical;min-height:84px;line-height:1.45}.prj-field-select-wrap{min-width:0;position:relative}.prj-field-select-wrap .prj-field-control{appearance:none;padding-right:32px}.prj-field-select-caret{color:var(--text-muted);pointer-events:none;font-size:12px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.prj-field-user{min-width:0}.prj-field-user .searchable-dropdown,.prj-field-user>div{width:100%;min-width:0}.prj-outline{z-index:1;background:#fff;border:1px solid #cfc9dc;border-radius:8px;align-items:center;min-height:52px;padding:14px 12px 10px;display:flex;position:relative}.prj-outline-wide{grid-column:1/-1}.prj-outline:focus-within{z-index:3;border-color:#7c6bb3;box-shadow:0 0 0 3px #7c6bb31f}.prj-outline-label{color:#7c6bb3;background:#fff;padding:0 6px;font-size:12px;font-weight:500;line-height:1;position:absolute;top:-8px;left:10px}.prj-outline-control{align-items:center;width:100%;min-height:28px;display:flex;position:relative}.prj-outline-control>div{flex:1;min-width:0}.prj-outline-input{width:100%;color:var(--text);background:0 0;border:none;outline:none;padding:0;font-family:inherit;font-size:14px}.prj-outline-input::placeholder{color:#b5a79c}.prj-outline-textarea{resize:vertical;align-self:stretch;min-height:72px;line-height:1.45}.prj-outline:has(.prj-outline-textarea){align-items:flex-start}.prj-outline-select{appearance:none;cursor:pointer;padding-right:22px}.prj-outline-icon{color:#7c6bb3;pointer-events:none;flex-shrink:0;position:absolute;right:0}.prj-outline-icon-left{color:#7c6bb3;flex-shrink:0;margin-right:8px}.prj-outline-input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;position:relative}.prj-outline-input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.prj-switch{cursor:pointer;align-items:center;gap:10px;display:flex}.prj-switch-track{width:44px;height:24px;transition:background var(--transition);background:#e5e7eb;border:none;border-radius:999px;padding:0;position:relative}.prj-switch-track.on{background:#7c6bb3}.prj-switch-knob{width:18px;height:18px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.prj-switch-track.on .prj-switch-knob{transform:translate(20px)}.prj-switch-text{color:var(--text-muted);font-size:13px}.prj-toggle{cursor:pointer;background:#eef2ff;border:1px solid #e6e6ff;border-radius:999px;align-items:center;gap:8px;width:72px;height:34px;padding:4px;transition:background .18s,border-color .18s;display:inline-flex;position:relative}.prj-toggle.on{color:#fff;background:linear-gradient(90deg,#7c6bb3 0%,#5b4d9a 100%);border-color:#6b5aa8}.prj-toggle-knob{background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .18s;transform:translate(0);box-shadow:0 2px 6px #0000001f}.prj-toggle.on .prj-toggle-knob{transform:translate(36px)}.prj-toggle-label{color:inherit;margin-left:6px;font-size:13px}.prj-select{position:relative}.prj-select .prj-select-icon{pointer-events:none;color:#7c6bb3;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.prj-repeat-list{flex-direction:column;gap:14px;display:flex}.prj-repeat-card{border:1px solid var(--border);background:#fff;border-radius:10px;padding:16px}.prj-repeat-head{color:#4f6bed;text-transform:uppercase;letter-spacing:.02em;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:13px;font-weight:700;display:flex}.prj-remove-btn{color:var(--danger);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.prj-remove-btn:hover{background:#fef2f2}.prj-add-btn{color:#4f6bed;background:0 0;border:1.5px dashed #c5bdd8;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-size:14px;font-weight:600;display:flex}.prj-add-btn:hover{background:#f6f4fc;border-color:#7c6bb3}.prj-delete-btn{color:var(--danger);border-color:#f5c6c2}@media (max-width:760px){.prj-grid{grid-template-columns:1fr}}.prj-board-bar{flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 18px;display:flex}.prj-board-search-row{flex:320px;justify-content:flex-end;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.prj-board-search{flex:220px;max-width:320px;margin:0}.prj-filter-dd{flex:280px;min-width:220px;max-width:380px}.prj-filter-anchor{width:100%;position:relative}.prj-filter-input-wrap{border:1px solid var(--border);height:38px;transition:border-color var(--transition), box-shadow var(--transition);cursor:text;box-sizing:border-box;background:#fff;border-radius:8px;align-items:center;gap:8px;width:100%;padding:0 12px;display:flex;box-shadow:inset 0 1px #fffc}.prj-filter-dd.is-open .prj-filter-input-wrap,.prj-filter-input-wrap:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #a68e6b29}.prj-filter-input-icon{color:var(--gold);flex-shrink:0}.prj-filter-input-search{color:var(--text-muted);flex-shrink:0}.prj-filter-input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13px;font-weight:500}.prj-filter-input::placeholder{color:var(--text-light);font-weight:500}.prj-filter-clear-inline{color:var(--text-muted);cursor:pointer;background:#f3eee8;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.prj-filter-clear-inline:hover{color:var(--primary);background:#e8dfd6}.prj-filter-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.prj-filter-chip{color:var(--primary);cursor:pointer;background:linear-gradient(#fbf8f4 0%,#f3eee8 100%);border:1px solid #a68e6b59;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.prj-filter-chip em{color:var(--text-muted);margin-right:2px;font-style:normal;font-weight:600}.prj-filter-chip:hover{border-color:var(--gold)}.prj-filter-chip-more{color:var(--text-muted);align-self:center;font-size:11px;font-weight:700}.prj-filter-dd-panel{z-index:80;background:#fff;border:1px solid #a68e6b66;border-radius:12px;width:100%;min-width:280px;animation:.14s prj-filter-pop;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 14px 36px #2a211e2e}@keyframes prj-filter-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.prj-filter-dd-head{color:var(--text-muted);background:linear-gradient(#fbf8f4 0%,#f3eee8 100%);border-bottom:1px solid #a68e6b38;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.prj-filter-dd-head strong{color:var(--primary);font-weight:800}.prj-filter-dd-clear{color:var(--primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:11px;font-weight:700}.prj-filter-dd-clear:hover{text-decoration:underline}.prj-filter-dd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-height:280px;padding:6px;display:grid;overflow-y:auto}.prj-filter-dd-col{border-right:1px solid #a68e6b29;min-width:0;padding:8px}.prj-filter-dd-col:nth-child(2n){border-right:none}.prj-filter-dd-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--gold);padding:4px 6px 8px;font-size:10px;font-weight:800}.prj-filter-dd-col ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.prj-filter-dd-col li label{cursor:pointer;color:var(--text);border-radius:8px;align-items:center;gap:8px;min-width:0;padding:7px 8px;font-size:12px;font-weight:600;display:flex}.prj-filter-dd-col li label:hover,.prj-filter-dd-col li label.is-checked{background:#f3eee8}.prj-filter-dd-col input{opacity:0;pointer-events:none;position:absolute}.prj-filter-dd-box{border:1px solid var(--border);color:#fff;background:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.prj-filter-dd-col li label.is-checked .prj-filter-dd-box{background:linear-gradient(135deg,#3a2e2b 0%,#8b6f4e 100%);border-color:#8b6f4e}.prj-filter-dd-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prj-filter-dd-empty{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:28px 12px;font-size:13px;font-weight:600}@media (max-width:720px){.navbar-page-title span{display:none}.prj-board-search-row{width:100%;margin-left:0}.prj-board-search{max-width:none}.prj-filter-dd{flex-basis:100%;max-width:none}.prj-filter-dd-grid{grid-template-columns:1fr}.prj-filter-dd-col{border-bottom:1px solid #a68e6b29;border-right:none}.prj-filter-dd-col:last-child{border-bottom:none}}.prj-card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.prj-card{border:1px solid var(--border);transition:transform var(--transition), box-shadow var(--transition);background:#fff;border-radius:14px;flex-direction:column;gap:14px;padding:18px;display:flex;box-shadow:0 8px 24px #4b3d390f}.prj-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #4b3d391a}.prj-card-top{align-items:flex-start;gap:12px;display:flex}.prj-card-avatar{color:#fff;background:linear-gradient(145deg,#714b67 0%,#875a7b 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:700;display:flex}.prj-card-head{flex:1;min-width:0}.prj-card-head h3{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:700;overflow:hidden}.prj-card-head code{color:var(--text-muted);font-size:11px}.prj-status-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.prj-card-meta{color:var(--text-muted);grid-template-columns:1fr 1fr;gap:8px 12px;font-size:12px;display:grid}.prj-card-meta span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.prj-card-stage{background:linear-gradient(#fbf8f4 0%,#f3eee8 100%);border:1px solid #a68e6b47;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;font-size:12px;display:flex}.prj-card-stage strong{color:var(--primary);font-weight:800}.prj-card-stage span{color:var(--text-muted);font-weight:600}.prj-card-stats{background:var(--cream);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;display:grid}.prj-card-stats div{text-align:center}.prj-card-stats strong{color:var(--ink);font-size:16px;display:block}.prj-card-stats em{color:var(--text-muted);font-size:11px;font-style:normal}.prj-card-btn{width:100%}.prj-empty{border:1px dashed var(--border);text-align:center;color:var(--text-muted);background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;display:flex}.prj-empty h3{color:var(--ink);margin:4px 0 0}.prj-details-hero{border:1px solid var(--border);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:18px 20px;display:flex}.prj-details-hero-copy{flex:1;min-width:180px}.prj-details-hero-copy h1{margin:0;font-size:22px}.prj-details-hero-copy p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.prj-details-actions{gap:8px;margin-left:auto;display:flex}.prj-details-section{border:1px solid var(--border);background:#fff;border-radius:14px;margin-bottom:14px;padding:18px 20px}.prj-details-section h2{color:var(--ink);align-items:center;gap:8px;margin:0 0 14px;font-size:15px;display:flex}.prj-details-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px 16px;display:grid}.prj-detail-item{flex-direction:column;gap:4px;display:flex}.prj-detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.prj-detail-value{color:var(--ink);font-size:14px}.prj-details-notes{gap:10px;margin-top:14px;display:grid}.prj-details-notes p{background:var(--cream);border-radius:10px;margin:0;padding:12px;font-size:13px;line-height:1.5}.prj-details-notes strong{text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:11px;display:block}.prj-details-tiles{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.prj-mini-card{border:1px solid var(--border);background:var(--cream);border-radius:12px;padding:14px}.prj-mini-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.prj-mini-card p{color:var(--text);margin:0 0 4px;font-size:13px}.prj-mini-line{align-items:center;gap:6px;display:flex;color:var(--text-muted)!important}.home-dashboard{padding:24px 28px 40px}.home-dashboard-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.home-dashboard-head h1{margin:0;font-size:24px}.home-dashboard-head p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.home-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px;display:grid}.home-kpi-card{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:center;gap:12px;padding:16px;display:flex}.home-kpi-icon{border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.home-kpi-card strong{font-size:22px;display:block}.home-kpi-card span{color:var(--text-muted);font-size:12px}.home-dash-split{grid-template-columns:1.2fr .8fr;gap:14px;margin-bottom:14px;display:grid}.home-dash-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:18px}.home-dash-card h2{align-items:center;gap:8px;margin:0 0 14px;font-size:15px;display:flex}.home-pipeline{align-items:flex-end;gap:18px;height:140px;display:flex}.home-pipeline-col{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.home-pipeline-bar{border-radius:8px 8px 4px 4px;width:36px}.home-pipeline-col span,.home-week-list{color:var(--text-muted);font-size:12px}.home-week-list{gap:10px;list-style:none;display:grid}.home-week-list li{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.home-activity{gap:8px;display:grid}.home-activity-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.home-activity-row strong{font-size:13px;display:block}.home-activity-row span,.home-activity-row em{color:var(--text-muted);font-size:12px;font-style:normal}.prj-workspace-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px 8px;display:grid}.prj-tracker{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;margin:0 0 20px;padding:18px 20px}.prj-tracker-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.prj-tracker-head h2{margin:0 0 4px;font-size:18px}.prj-tracker-head p{color:var(--text-muted);margin:0;font-size:13px}.prj-delay-clock{border:1px solid var(--border);background:#f8fafc;border-radius:16px;align-items:center;gap:14px;min-width:220px;padding:12px 16px;display:flex}.prj-delay-clock-compact{border-radius:999px;gap:8px;min-width:0;padding:8px 12px;font-size:12px}.prj-delay-clock-compact strong{font-size:12px}.prj-delay-clock-compact span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-weight:600;overflow:hidden}.prj-shell{flex-direction:column;gap:12px;padding-bottom:28px;display:flex}.prj-shell-top{color:#fff;background:linear-gradient(105deg,#2a211e 0%,#3a2e2b 18%,#5c4638 40%,#8b6f4e 58%,#6b5644 76%,#322724 100%);border:1px solid #a68e6b73;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.prj-shell-brand{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}.prj-shell-brand .crm-breadcrumb-link{color:var(--gold-light)}.prj-shell-brand .crm-breadcrumb-sep{color:#ffffff73}.prj-shell-brand h1{font-size:20px;font-family:var(--font-cinzel), Georgia, serif;color:#fff;margin:0}.prj-shell-brand code{color:#f9f7f4bf;background:#ffffff14;border-radius:999px;padding:2px 8px;font-size:11px}.prj-shell-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prj-shell-facts{color:var(--text-muted);flex-wrap:wrap;gap:8px 14px;padding:8px 4px;font-size:12px;font-weight:600;display:flex}.prj-shell-facts span{align-items:center;gap:5px;display:inline-flex}.prj-road{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.prj-road-cards{margin-bottom:12px}.prj-road-meta{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:0 2px;display:flex}.prj-road-meta>span{font-family:var(--font-cinzel);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-deep);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.prj-road-progress{flex-direction:column;align-items:flex-end;gap:4px;min-width:140px;display:flex}.prj-road-progress em{color:var(--text-muted);font-size:11px;font-style:normal;font-weight:700}.prj-road-progress-track{background:#a68e6b2e;border-radius:999px;width:160px;height:4px;overflow:hidden}.prj-road-progress-track i{border-radius:inherit;background:linear-gradient(90deg,#1f6f54 0%,#8b6f4e 55%,#c4b08a 100%);height:100%;display:block}.prj-road-shell{align-items:center;gap:6px;display:flex;position:relative}.prj-road-nav{width:32px;height:32px;color:var(--ink-deep);cursor:pointer;background:#fff;border:1px solid #a68e6b59;border-radius:10px;flex:0 0 32px;place-items:center;display:grid;box-shadow:0 1px 3px #3a2e2b0f}.prj-road-nav:hover{border-color:var(--gold);color:#8b6f4e}.prj-road-track{scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;flex:1;gap:8px;min-width:0;padding:8px 4px 4px;display:flex;position:relative;overflow-x:auto}.prj-road-track::-webkit-scrollbar{display:none}.prj-road-line{pointer-events:none;background:linear-gradient(90deg,#a68e6b1f,#a68e6b73,#a68e6b1f);height:2px;position:absolute;top:36px;left:40px;right:40px}.prj-road-card{z-index:1;text-align:center;scroll-snap-align:start;cursor:pointer;width:118px;min-width:118px;font:inherit;color:inherit;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition), background var(--transition);background:#fff;border:1px solid #a68e6b38;border-radius:12px;flex-direction:column;flex:0 0 118px;align-items:center;gap:4px;padding:8px 6px 7px;display:flex;position:relative;box-shadow:0 2px 8px #3a2e2b0a}.prj-road-card:hover{border-color:#a68e6b73;transform:translateY(-2px)}.prj-road-card.is-completed{background:linear-gradient(#1078501a 0%,#fff 62%);border-color:#10785047}.prj-road-card.is-completed.is-proj-tracker:not(.is-late){background:linear-gradient(#d9770624 0%,#fff 62%);border-color:#d9770661}.prj-road-card.is-completed.is-late{background:linear-gradient(#dc26261f 0%,#fff 62%);border-color:#dc262659}.prj-road-card.is-current{background:linear-gradient(#0c6e821a 0%,#fff 62%);border-color:#0c6e8259}.prj-road-card.is-upcoming{background:linear-gradient(#8b6f4e0f 0%,#fff 70%)}.prj-road-card.is-initiate{background:linear-gradient(#1e405a1a 0%,#fff 62%);border-color:#1e405a52}.prj-road-card.is-active{border-width:2px;border-color:#0c6e82;box-shadow:0 0 0 1px #0c6e821f,0 8px 18px #3a2e2b1a}.prj-road-card.is-initiate.is-active{border-color:#1e405a;box-shadow:0 0 0 1px #1e405a33,0 8px 18px #1e405a24}.prj-road-card-icon{color:#8b6f4e;background:linear-gradient(145deg,#fbf8f4 0%,#efe6d8 100%);border:1px solid #a68e6b47;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.prj-road-card-icon svg{width:16px;height:16px}.prj-road-card.is-completed .prj-road-card-icon{color:#fff;background:linear-gradient(135deg,#0f5c42 0%,#1f9d6a 55%,#3ecf8e 100%);border-color:#0000}.prj-road-card.is-completed.is-proj-tracker:not(.is-late) .prj-road-card-icon{background:linear-gradient(135deg,#9a3412 0%,#ea580c 55%,#fdba74 100%)}.prj-road-card.is-completed.is-late .prj-road-card-icon{background:linear-gradient(135deg,#7f1d1d 0%,#dc2626 55%,#f87171 100%)}.prj-road-card.is-current .prj-road-card-icon{color:#fff;background:linear-gradient(135deg,#0a4f5f 0%,#0c7f96 55%,#27b7c9 100%);border-color:#0000}.prj-road-card.is-upcoming .prj-road-card-icon{color:#fff;opacity:.92;background:linear-gradient(135deg,#6b4f35 0%,#a67c52 55%,tan 100%);border-color:#0000}.prj-road-card.is-initiate .prj-road-card-icon{color:#fff;background:linear-gradient(135deg,#152a3a 0%,#1e405a 55%,#3d6a8a 100%);border-color:#0000}.prj-road-card-title{color:var(--ink-deep);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;min-height:24px;font-size:10px;font-weight:800;line-height:1.15;display:-webkit-box;overflow:hidden}.prj-road-badge{letter-spacing:.03em;text-transform:uppercase;color:#fff;border:none;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:9px;font-weight:800;display:inline-flex}.prj-road-badge.is-completed{background:linear-gradient(135deg,#0b4d38 0%,#168a5a 50%,#22c55e 100%);box-shadow:0 2px 6px #0b4d3847}.prj-road-card.is-proj-tracker:not(.is-late) .prj-road-badge.is-completed{background:linear-gradient(135deg,#9a3412 0%,#ea580c 50%,#f97316 100%);box-shadow:0 2px 6px #9a341247}.prj-road-card.is-late .prj-road-badge.is-completed{background:linear-gradient(135deg,#7f1d1d 0%,#dc2626 50%,#ef4444 100%);box-shadow:0 2px 6px #7f1d1d47}.prj-road-badge.is-current{background:linear-gradient(135deg,#083f4d 0%,#0c7a90 50%,#14b8c8 100%);box-shadow:0 2px 6px #083f4d47}.prj-road-badge.is-upcoming{background:linear-gradient(135deg,#4a3424 0%,#8b6f4e 50%,#c4a574 100%);box-shadow:0 2px 6px #4a342438}.prj-road-badge.is-initiate{background:linear-gradient(135deg,#152a3a 0%,#1e405a 50%,#3d6a8a 100%);box-shadow:0 2px 6px #152a3a4d}.prj-road-badge-dot{background:#fff;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 2px #ffffff59}.prj-road-card-meta{width:100%;color:var(--text-muted);flex-direction:column;gap:3px;font-size:11px;font-weight:600;line-height:1.3;display:flex}.prj-road-card-meta i,.prj-road-card-meta em{font-style:normal}.prj-road-card-meta b{color:var(--ink-deep);white-space:nowrap;font-size:11px;font-weight:700}.prj-road-card-meta em{color:#0c6e82;white-space:nowrap;font-size:10px;font-weight:700}.prj-road-card-meta .prj-road-clock{color:#0c6e82;font-variant-numeric:tabular-nums;letter-spacing:-.03em;white-space:nowrap;width:100%;font-size:10px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.prj-road-card-meta em.is-late{color:#b4533a}.prj-road-card.is-completed .prj-road-card-meta em{color:#168a5a}.prj-road-card.is-completed.is-proj-tracker:not(.is-late) .prj-road-card-meta em{color:#c2410c}.prj-road-card.is-completed.is-late .prj-road-card-meta em{color:#b91c1c}.prj-road-work-form.is-simple{max-width:520px}.prj-road-work-simple{color:var(--text-muted);background:#f6f3ef;border:1px solid #a68e6b38;border-radius:10px;margin-bottom:12px;padding:12px 14px;font-size:13px}.prj-road-work-simple strong{color:var(--ink-deep)}.prj-road-cards+.prj-road-work,.prj-road-cards+.pd-hero,.prj-road-work+.pd-hero{margin-top:10px}.prj-road-work{background:#fff;border:1px solid #a68e6b47;border-radius:14px;padding:14px 16px 16px;box-shadow:0 1px #2a211e0a}.prj-road-work-blank{min-height:0;box-shadow:none;background:0 0;border:none;padding:0}.prj-road-work.is-done{border-color:#168a5a59}.prj-road-work.is-here{border-color:#0c6e8259}.prj-road-work.is-locked{border-color:#a68e6b59}.prj-road-work-head{border-bottom:1px solid #a68e6b2e;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:10px;display:flex}.prj-road-work-head h2{color:var(--ink-deep);font-size:16px;font-weight:800}.prj-road-work-head p{color:var(--text-muted);margin-top:2px;font-size:11px;font-weight:600}.prj-road-work-status{letter-spacing:.03em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#4a3424 0%,#8b6f4e 100%);border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:10px;font-weight:800}.prj-road-work-status.is-done{background:linear-gradient(135deg,#0b4d38 0%,#168a5a 55%,#22c55e 100%)}.prj-road-work-status.is-here{background:linear-gradient(135deg,#083f4d 0%,#0c7a90 55%,#14b8c8 100%)}.prj-road-work-locked,.prj-road-work-done,.prj-road-work-here{border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.prj-road-work-locked{color:var(--text-muted);background:#f6f3ef;border:1px solid #a68e6b47}.prj-road-work-done{color:#0f5c42;background:linear-gradient(135deg,#1078501a 0%,#f3fbf7 100%);border:1px solid #168a5a47}.prj-road-work-here{color:#0a4f5f;background:linear-gradient(135deg,#0c6e8214 0%,#f2fafb 100%);border:1px solid #0c6e8240}.prj-road-work-locked strong,.prj-road-work-done strong,.prj-road-work-here strong{margin-bottom:2px;font-size:14px;display:block}.prj-road-work-locked p,.prj-road-work-done p,.prj-road-work-here p{margin-top:4px;font-size:12px}.prj-road-work-hint{align-items:center;gap:5px;font-weight:700;display:inline-flex;margin-top:8px!important}.prj-road-work-intro{color:var(--text-muted);margin-bottom:12px;font-size:12px;line-height:1.45}.prj-road-submitted{background:linear-gradient(#1078500f 0%,#fff 42%),#fffefb;border:1px solid #168a5a38;border-radius:12px;margin:4px 0 14px;padding:16px 16px 14px;box-shadow:0 4px 14px #3a2e2b0a}.prj-road-submitted-head{border-bottom:1px solid #168a5a24;margin-bottom:12px;padding-bottom:10px}.prj-road-submitted-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#0f5c42;background:#168a5a1f;border-radius:999px;margin-bottom:4px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-block}.prj-road-submitted-head h3{color:var(--ink-deep);margin:0;font-size:15px;font-weight:800}.prj-road-submitted-head p{color:var(--text-muted);margin:4px 0 0;font-size:12px;line-height:1.4}.prj-road-submitted-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:0;display:grid}.prj-road-submitted-item{background:#ffffffe6;border:1px solid #a68e6b33;border-radius:10px;padding:10px 12px}.prj-road-submitted-item.is-wide{grid-column:1/-1}.prj-road-submitted-item.is-empty{opacity:.72}.prj-road-submitted-item dt{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);margin:0 0 4px;font-size:10px;font-weight:800}.prj-road-submitted-item dd{color:var(--ink-deep);white-space:pre-wrap;word-break:break-word;margin:0;font-size:14px;font-weight:700;line-height:1.4}.prj-road-submitted-empty{color:var(--text-muted);background:#a68e6b14;border-radius:8px;margin:0;padding:12px;font-size:12px}@media (max-width:720px){.prj-road-submitted-grid{grid-template-columns:1fr}}.prj-road-work-simple-note{color:var(--text-muted);margin-top:6px;font-size:12px}.prj-road-work-simple-note code{color:var(--ink-deep);background:#a68e6b26;border-radius:4px;padding:1px 5px;font-size:11px}.prj-road-submit.is-done{opacity:.85;cursor:not-allowed;background:linear-gradient(135deg,#0b4d38 0%,#168a5a 100%)}.prj-road-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.prj-road-field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:11px;font-weight:700;display:flex}.prj-road-field.is-wide{grid-column:1/-1}.prj-road-field input,.prj-road-field select,.prj-road-field textarea{width:100%;font:inherit;color:var(--ink-deep);background:#fffefb;border:1px solid #a68e6b59;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600}.prj-road-field input:focus,.prj-road-field select:focus,.prj-road-field textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #a68e6b26}.prj-road-field input:disabled,.prj-road-field select:disabled,.prj-road-field textarea:disabled{opacity:.65;background:#f5f3f0}.prj-road-work-actions{justify-content:flex-end;margin-top:14px;display:flex}.prj-road-submit{font:inherit;color:#fff;cursor:pointer;background:linear-gradient(135deg,#3a2e2b 0%,#8b6f4e 100%);border:none;border-radius:9px;align-items:center;gap:6px;padding:9px 14px;font-size:13px;font-weight:800;display:inline-flex}.prj-road-submit:disabled{opacity:.55;cursor:not-allowed}.prj-road-work-loading,.prj-road-work-empty{color:var(--text-muted);align-items:center;gap:8px;padding:18px 4px;font-size:13px;font-weight:600;display:flex}.prj-road-work-flow{margin-top:4px}@media (max-width:720px){.prj-road-work-grid{grid-template-columns:1fr}}.prj-shell-process{background:#fff;border:1px solid #a68e6b47;border-radius:14px;min-height:280px;padding:12px 14px 16px}.prj-shell-process-blank{background:0 0;border-style:dashed;min-height:320px}.prj-shell-locked{text-align:center;color:var(--text-muted);background:#f8f5f1;border-radius:10px;padding:28px 16px;font-weight:600}.prj-shell-details-toggle{color:var(--primary);cursor:pointer;background:#fff;border:1px solid #a68e6b59;border-radius:10px;align-items:center;gap:8px;width:fit-content;padding:10px 14px;font-size:13px;font-weight:700;display:inline-flex}.prj-shell-details{background:#fff;border:1px solid #a68e6b47;border-radius:12px;padding:12px 14px}.phub-embedded{gap:12px}.phub-embedded-bar{justify-content:flex-end;margin-bottom:4px;display:flex}.prj-delay-clock-face{background:#fff;border:3px solid;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;width:92px;height:92px;display:flex}.prj-delay-clock-face strong{font-size:18px;line-height:1}.prj-delay-clock-step{color:var(--ink-deep);font-size:15px;font-weight:800}.prj-delay-clock-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.prj-delay-clock.is-late{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.prj-delay-clock.is-due{color:#b45309;background:#fffbeb;border-color:#fde68a}.prj-delay-clock.is-ok,.prj-delay-clock.is-done{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.prj-flow-track{scroll-snap-type:x proximity;gap:12px;margin:0 -4px 14px;padding:18px 8px 10px;display:flex;position:relative;overflow-x:auto}.prj-flow-line{z-index:0;pointer-events:none;background:linear-gradient(90deg,#a68e6b26,#a68e6b8c,#a68e6b26);height:2px;position:absolute;top:62px;left:24px;right:24px}.prj-flow-card{z-index:1;scroll-snap-align:start;cursor:pointer;text-align:center;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);background:#fff;border:1px solid #a68e6b47;border-radius:14px;flex-direction:column;flex:0 0 132px;align-items:center;gap:6px;padding:14px 10px 12px;display:flex;position:relative;box-shadow:0 2px 10px #3a2e2b0f}.prj-flow-card:hover{border-color:var(--gold);transform:translateY(-2px)}.prj-flow-card.is-active{border-color:#5c4638;box-shadow:0 4px 16px #3a2e2b29}.prj-flow-card.is-bottleneck{border-color:#dc2626;box-shadow:0 0 0 1px #dc262640}.prj-flow-card.is-done:not(.is-late){border-color:#16a34a59}.prj-flow-badge{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#dc2626;border-radius:999px;padding:2px 7px;font-size:9px;font-weight:800;position:absolute;top:-9px;left:8px}.prj-flow-ring{border-radius:50%;flex-shrink:0;place-items:center;width:64px;height:64px;padding:5px;display:grid}.prj-flow-ring-inner{width:100%;height:100%;color:var(--ink-deep);background:#fff;border-radius:50%;place-items:center;font-size:16px;font-weight:800;display:grid}.prj-flow-label{color:var(--ink-deep);justify-content:center;align-items:center;min-height:30px;font-size:12px;font-weight:700;line-height:1.25;display:flex}.prj-flow-dates{color:var(--text-muted);flex-direction:column;gap:1px;width:100%;font-size:10px;font-weight:600;display:flex}.prj-flow-delay{color:#047857;font-size:11px;font-weight:700}.prj-flow-delay.is-late,.prj-flow-card.is-late .prj-flow-delay{color:#dc2626}.prj-flow-editor{background:linear-gradient(#fbf8f4 0%,#fff 50%);border:1px solid #a68e6b4d;border-radius:12px;margin-bottom:12px;padding:14px 16px}.prj-flow-editor-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.prj-flow-editor-head h3{color:var(--primary);margin:0;font-size:15px}.prj-flow-editor-head span{color:#047857;font-size:12px;font-weight:700}.prj-flow-editor-head span.is-late{color:#dc2626}.prj-flow-editor-grid{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.prj-flow-date-hint{color:var(--gold);margin-top:2px;font-size:12px;font-style:normal;font-weight:600}.prj-flow-editor-actions{flex-direction:column;align-items:flex-start;gap:6px;padding-bottom:2px;display:flex}.prj-flow-editor-meta{color:var(--text-muted);font-size:11px;font-weight:600}@media (max-width:720px){.prj-flow-editor-grid{grid-template-columns:1fr}}.prj-tracker-table{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:0;display:flex;overflow:hidden}.prj-tracker-row{border-bottom:1px solid var(--border-light);background:#fff;grid-template-columns:minmax(140px,1.2fr) 1fr 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.prj-tracker-row:last-child{border-bottom:0}.prj-tracker-row-head{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#111;font-size:12px;font-weight:700}.prj-tracker-row.is-done{background:#f0fdf4}.prj-tracker-step{font-size:13px;font-weight:700}.prj-tracker-row input,.prj-tracker-row select{border:1px solid var(--border);background:#fff;border-radius:8px;height:34px;padding:0 10px;font-size:13px}.prj-tracker-done{border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:5px;height:34px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.prj-tracker-row.is-done .prj-tracker-done{color:#fff;background:#065f46;border-color:#065f46}.prj-tracker-actions{margin-top:14px}.prj-tracker-error{color:#b91c1c;margin-bottom:10px;font-size:13px}.prj-inline-loading{min-height:180px;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.prj-sheet-overlay{z-index:9000;background:#2a211e85;justify-content:center;align-items:flex-end;padding:0;animation:.18s prj-sheet-fade;display:flex;position:fixed;inset:0}.prj-sheet{background:linear-gradient(#f9f7f4fa 0%,#fff 28%);border:1px solid #a68e6b59;border-bottom:none;border-radius:18px 18px 0 0;flex-direction:column;width:min(920px,100%);max-height:min(94vh,900px);animation:.28s ease-out prj-sheet-up;display:flex;overflow:hidden;box-shadow:0 -10px 36px #2a211e47}.prj-sheet-head{color:#fff;background:linear-gradient(105deg,#2a211e 0%,#3a2e2b 18%,#5c4638 40%,#8b6f4e 58%,#6b5644 76%,#322724 100%);border-bottom:1px solid #a68e6b73;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 22px 16px;display:flex}.prj-sheet-head-copy{min-width:0}.prj-sheet-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--gold-light);align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:700;display:inline-flex}.prj-sheet-head h3{color:#fff;font-size:20px;font-weight:700;font-family:var(--font-cinzel), Georgia, serif;letter-spacing:.02em;margin:0}.prj-sheet-head p{color:#f9f7f4c7;max-width:520px;margin:6px 0 0;font-size:13px}.prj-sheet-gold-rule{background:linear-gradient(90deg, var(--gold-light), var(--gold) 60%, transparent);border-radius:999px;width:72px;height:2px;margin-top:12px}.prj-sheet-close{color:var(--gold-light);cursor:pointer;width:34px;height:34px;transition:background var(--transition), color var(--transition);background:#ffffff14;border:1px solid #c4b08a73;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.prj-sheet-close:hover{color:#fff;background:#ffffff29}.prj-sheet-close:disabled{opacity:.55;cursor:not-allowed}.prj-sheet-body{background:radial-gradient(#4b3d390a .7px,#0000 .7px) 0 0/14px 14px;background-color:var(--cream);flex:1;padding:14px 18px 10px;overflow-y:auto}.prj-sheet .prj-form-card{background:#fff;border:1px solid #a68e6b47;border-radius:12px;margin-top:0;padding:0 14px 16px;overflow:visible;box-shadow:inset 0 1px #ffffffb3}.prj-sheet .prj-grid,.prj-sheet .prj-repeat-list{padding-top:4px}.prj-sheet .prj-tabs{background:linear-gradient(#fbf8f4 0%,#f3eee8 100%);border-bottom:1px solid #a68e6b47;flex-wrap:wrap;gap:4px;padding:8px 10px}.prj-sheet .prj-tab{color:var(--text-muted);border:1px solid #0000;border-radius:8px;font-weight:600}.prj-sheet .prj-tab:hover{color:var(--primary);background:#a68e6b1f}.prj-sheet .prj-tab-active{color:#fff;background:linear-gradient(135deg,#3a2e2b 0%,#5c4638 45%,#8b6f4e 100%);border-color:#a68e6b66;box-shadow:0 2px 8px #3a2e2b38}.prj-sheet .prj-repeat-card{background:#fff;border-color:#a68e6b47}.prj-sheet .prj-repeat-head{color:var(--primary);border-bottom-color:#a68e6b38}.prj-sheet .prj-add-btn{color:var(--primary);background:linear-gradient(#fff 0%,#f9f7f4 100%);border-color:#a68e6b73}.prj-sheet .prj-add-btn:hover{border-color:var(--gold);background:#f3eee8}.prj-sheet-meta{color:var(--text-muted);margin:10px 2px 0;font-size:12px}.prj-sheet-foot{background:linear-gradient(#f9f7f4 0%,#f0ebe4 100%);border-top:1px solid #a68e6b4d;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.prj-sheet-foot .btn{justify-content:center;align-items:center;gap:6px;min-width:110px;display:inline-flex}.prj-sheet-save{box-shadow:0 2px 8px #3a2e2b38;background:linear-gradient(135deg,#3a2e2b 0%,#5c4638 45%,#8b6f4e 100%)!important;border-color:#a68e6b80!important}.prj-sheet-save:hover:not(:disabled){filter:brightness(1.06)}@keyframes prj-sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes prj-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.prj-sheet.crm-lead-sheet .crm-lead-sheet-inner{width:100%}.prj-sheet.crm-lead-sheet .crm-stages{flex-wrap:wrap;gap:6px}@media (max-width:720px){.prj-sheet{width:100%;max-height:96vh}.prj-sheet .prj-tabs{flex-wrap:nowrap;overflow-x:auto}}@keyframes prj-spin{to{transform:rotate(360deg)}}.btn.is-busy,.btn:disabled.is-busy{opacity:.85;cursor:wait}.phub{flex-direction:column;gap:14px;padding:8px 0 28px;display:flex}.phub-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;padding:16px}.phub-card h2{margin:0 0 12px;font-size:16px}.phub-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:12px;display:grid}.phub-grid label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;font-weight:700;display:flex}.phub-grid input,.phub-grid select,.phub-grid textarea{border:1px solid var(--border);height:34px;color:var(--ink);border-radius:8px;padding:0 10px;font-size:13px;font-weight:500}.phub-table{border-collapse:collapse;width:100%;font-size:13px}.phub-table th{color:#fff;text-align:left;background:#111;padding:8px 10px}.phub-table td{border-bottom:1px solid var(--border-light);padding:8px 10px}.phub-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.mat-page{padding:8px 0 28px}.mat-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.inv-page{box-sizing:border-box;width:100%;max-width:none;padding:12px 16px 24px}.inv-hero{align-items:center;gap:12px;margin-bottom:14px;display:flex}.inv-hero-icon{color:#f5efe8;background:linear-gradient(145deg,#5a4a44 0%,#3a2e2b 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 3px 10px #3a2e2b33}.inv-title{color:var(--ink-deep);letter-spacing:-.01em;margin:0;font-size:1.2rem;font-weight:700;line-height:1.2}.inv-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:12.5px;line-height:1.35}.inv-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.inv-metric-card{text-align:left;border:1px solid var(--border);color:inherit;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);background:#fff;border-radius:10px;align-items:center;gap:12px;padding:12px 12px 12px 10px;display:flex;box-shadow:0 1px 3px #3a2e2b0d}.inv-metric-card:hover{border-color:#d6ccc2;transform:translateY(-1px);box-shadow:0 4px 14px #3a2e2b14}.inv-metric-icon{width:34px;height:34px;color:var(--ink);background:#f3eee8;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.inv-metric-icon.gold{color:#8c7354;background:#f5efe3}.inv-metric-icon.danger{color:#c0392b;background:#fdeceb}.inv-metric-icon.success{color:#1e8449;background:#eaf7ef}.inv-metric-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.inv-metric-label{color:var(--text-muted);font-size:12px;font-weight:500}.inv-metric-value{color:var(--ink-deep);font-size:1.15rem;font-weight:700;line-height:1.15}.inv-metric-value.danger{color:#c0392b}.inv-metric-chevron{color:var(--text-light);flex-shrink:0}.inv-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.inv-search{border:1px solid var(--border);min-width:200px;height:38px;color:var(--text-muted);background:#fff;border-radius:9px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.inv-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.inv-select{border:1px solid var(--border);height:38px;color:var(--text);background:#fff;border-radius:9px;min-width:150px;padding:0 12px;font-size:13px}.inv-toolbar-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.inv-btn-primary{border-radius:9px;gap:6px;height:38px;padding:0 14px;font-size:13px}.inv-btn-outline{border:1px solid var(--border);height:38px;transition:background var(--transition), border-color var(--transition);background:#fff;border-radius:9px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.inv-btn-outline.success{color:#1e8449;border-color:#b7e0c5}.inv-btn-outline.success:hover{background:#eaf7ef}.inv-btn-outline.danger{color:#c0392b;border-color:#f0c2bd}.inv-btn-outline.danger:hover{background:#fdeceb}.inv-panel{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px #3a2e2b0d}.inv-stock-block{border:1px solid var(--border);background:#f3eee8;border-radius:12px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px #3a2e2b0d}.inv-stock-block .inv-panel{box-shadow:none;border:none;border-radius:0;margin-bottom:0}.inv-panel-tabbed{z-index:0;border-top:1px solid var(--border);background:#fff;position:relative}.inv-cat-tabs{z-index:2;background:#f3eee8;flex-wrap:wrap;align-items:flex-end;gap:0;margin-bottom:-1px;padding:8px 10px 0;display:flex;position:relative;overflow-x:auto}.inv-cat-tab{cursor:pointer;color:var(--text-muted);transition:color var(--transition), background var(--transition), border-color var(--transition);white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:12px 12px 0 0;align-items:center;gap:6px;padding:9px 12px 10px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.inv-cat-count{min-width:20px;height:18px;color:var(--text-muted);background:#4b3d3914;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.inv-cat-tab:hover{color:var(--ink)}.inv-cat-tab:hover .inv-cat-count{color:var(--ink);background:#4b3d391f}.inv-cat-tab.active{color:var(--ink-deep);z-index:3;background:#fff;border:1.5px solid #9a8b7e;border-bottom-color:#fff;border-radius:14px 14px 0 0;box-shadow:0 -1px #7a6a5e,inset 0 1px #ffffffe6}.inv-cat-tab.active .inv-cat-count{color:var(--ink-deep);background:#4b3d391a}.inv-panel-head{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.inv-panel-head h2{color:var(--ink-deep);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700;display:flex}.inv-panel-meta{color:var(--text-muted);font-size:12px;font-weight:600}.inv-link-btn{color:var(--primary);background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.inv-link-btn:hover{text-decoration:underline}.inv-loading{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:24px 12px;display:flex}.inv-table-wrap{overflow-x:auto}.inv-table{border-collapse:collapse;width:100%;font-size:13px}.inv-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;background:#faf8f5;padding:9px 14px;font-size:11px;font-weight:600}.inv-table td{border-bottom:1px solid var(--border-light);color:var(--text);vertical-align:middle;padding:10px 14px}.inv-table tbody tr:last-child td{border-bottom:none}.inv-table tbody tr:hover td{background:#fcfbf9}.inv-mat-name{color:var(--ink-deep);font-weight:600}.inv-live-stock{white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.inv-qty{color:var(--ink-deep);font-weight:700}.inv-unit{color:var(--ink);border:1px solid var(--border);background:#f3eee8;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.inv-badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.inv-badge-in{color:#1e8449;background:#e8f8ef}.inv-badge-low{color:#c27803;background:#fff4e5}.inv-badge-out{color:#c0392b;background:#fdeceb}.inv-move{letter-spacing:.04em;border-radius:999px;justify-content:center;align-items:center;min-width:42px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.inv-move-in{color:#1e8449;background:#e8f8ef}.inv-move-out{color:#c0392b;background:#fdeceb}.inv-remarks{max-width:220px;color:var(--text-muted)}.inv-col-actions{text-align:right;width:88px}.inv-row-actions{justify-content:flex-end;align-items:center;gap:2px;display:inline-flex}.inv-icon-btn{width:26px;height:26px;color:var(--text-muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.inv-icon-btn:hover:not(:disabled){color:var(--ink);background:#f3eee8}.inv-icon-btn:disabled{opacity:.35;cursor:default}.inv-menu-wrap{position:relative}.inv-menu{z-index:20;border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;min-width:140px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #3a2e2b24}.inv-menu button{text-align:left;color:var(--text);background:0 0;border:none;border-radius:7px;padding:8px 10px;font-size:13px}.inv-menu button:hover{background:#f6f1eb}.inv-menu button.danger{color:#c0392b}.inv-empty{text-align:center;color:var(--text-muted);padding:28px 14px!important}.inv-pagination{border-top:1px solid var(--border-light);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.inv-pagination-info{color:var(--text-muted);font-size:12px}.inv-pagination-controls{align-items:center;gap:6px;display:flex}.inv-page-num{color:#fff;background:#5c4638;border-radius:6px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.inv-page-btn{border:1px solid var(--border);width:30px;height:30px;color:var(--ink);background:#fff;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.inv-page-btn:hover:not(:disabled){background:#f3eee8;border-color:#d6ccc2}.inv-page-btn:disabled{opacity:.4;cursor:default}.inv-sheet{width:min(560px,100%)}.inv-sheet-helper{color:var(--text-muted);margin-top:6px;font-size:12px;font-weight:500;display:block}.inv-sheet-save-out{background:linear-gradient(135deg,#8b2e24 0%,#c0392b 50%,#e05a4a 100%)!important;border-color:#c0392b73!important}@media (max-width:980px){.inv-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.inv-metrics{grid-template-columns:1fr}.inv-toolbar-actions{width:100%;margin-left:0}.inv-btn-primary,.inv-btn-outline{flex:1;justify-content:center}}@media (max-width:900px){.home-dash-split{grid-template-columns:1fr}.app-sidebar{width:80px}.prj-tracker-row{grid-template-columns:1fr}}.pd-page{box-sizing:border-box;width:100%;max-width:none;padding:10px 12px 24px}.pd-loading{min-height:40vh;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-weight:600;display:flex}.pd-hero{border:1px solid var(--border);background:#fff;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px 20px;margin-bottom:14px;padding:14px 16px;display:flex;box-shadow:0 1px #2a211e0a}.pd-hero.is-initiate{background:linear-gradient(#c4b08a24 0%,#fff 55%);border-color:#8b6f4e8c;box-shadow:0 0 0 1px #8b6f4e1f,0 6px 18px #3a2e2b0f}.pd-hero-main{flex:1;min-width:0}.pd-hero-title-row{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.pd-hero-main h1{color:var(--ink-deep);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:800;line-height:1.15}.pd-project-id{color:var(--text-muted);background:#f3eee8;border-radius:7px;align-items:center;gap:4px;margin-top:6px;padding:3px 9px;font-size:12px;font-weight:650;display:inline-flex}.pd-badges{flex-wrap:wrap;gap:6px;display:flex}.pd-badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:11px;font-weight:750;line-height:1.3;display:inline-flex}.pd-badge-muted{color:#5c4638;background:#f3eee8;border-color:#a68e6b47}.pd-hero-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.pd-btn{cursor:pointer;background:#fff;border:1px solid #0000;border-radius:9px;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.pd-btn:disabled{opacity:.6;cursor:default}.pd-btn-edit{color:#1d4ed8;border-color:#93c5fd}.pd-btn-edit:hover{background:#eff6ff}.pd-btn-danger{color:#b91c1c;border-color:#fca5a5}.pd-btn-danger:hover:not(:disabled){background:#fef2f2}.pd-layout{grid-template-columns:minmax(0,1.85fr) minmax(280px,.95fr);align-items:start;gap:14px;width:100%;display:grid}.pd-col-main,.pd-col-side{flex-direction:column;gap:14px;min-width:0;display:flex}.pd-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px 16px 16px;box-shadow:0 1px #2a211e09}.pd-card-head{color:var(--ink-deep);border-bottom:1px solid var(--border-light);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;display:flex}.pd-card-head h2{letter-spacing:.01em;flex:1;margin:0;font-size:14px;font-weight:800}.pd-card-ico{color:#8b6f4e;background:linear-gradient(145deg,#fbf8f4 0%,#f0e8dc 100%);border:1px solid #a68e6b47;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.pd-count{color:var(--text-muted);background:#f3eee8;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800}.pd-chip{letter-spacing:.02em;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:10px;font-weight:800;display:inline-flex}.pd-chip-primary{color:#1e40af;background:#dbeafe}.pd-chip-ok{color:#166534;background:#dcfce7}.pd-chip-muted{color:#7a6a62;background:#f3eee8}.pd-icon-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.pd-icon-btn:hover:not(:disabled){color:var(--ink);background:#f3eee8}.pd-icon-btn:disabled{opacity:.45;cursor:default}.pd-progress{background:linear-gradient(#fbf8f4 0%,#f3eee8 100%);border:1px solid #a68e6b38;border-radius:10px;margin-bottom:14px;padding:10px 12px}.pd-progress-meta{justify-content:space-between;gap:8px;margin-bottom:7px;font-size:12px;display:flex}.pd-progress-meta strong{color:var(--ink-deep);font-weight:800}.pd-progress-meta span{color:var(--text-muted);font-weight:650}.pd-progress-track{background:#a68e6b33;border-radius:999px;height:6px;overflow:hidden}.pd-progress-track i{border-radius:inherit;background:linear-gradient(90deg,#3a2e2b 0%,#8b6f4e 55%,#c4b08a 100%);min-width:8px;height:100%;display:block}.pd-desc{border-bottom:1px dashed #a68e6b47;margin-bottom:14px;padding-bottom:12px}.pd-desc p{color:var(--ink);margin:5px 0 0;font-size:13px;font-weight:550;line-height:1.5}.pd-partition{background:#fff;border:1px solid #a68e6b33;border-radius:10px;gap:0;display:grid;overflow:hidden}.pd-partition-1{grid-template-columns:1fr}.pd-partition-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-partition-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pd-partition-5{grid-template-columns:repeat(5,minmax(0,1fr))}.pd-partition-top{margin-top:10px}.pd-field{background:linear-gradient(#fffcf9 0%,#fff 100%);border-bottom:1px solid #a68e6b29;border-right:1px solid #a68e6b29;min-width:0;padding:10px 12px}.pd-partition-2 .pd-field:nth-child(2n),.pd-partition-3 .pd-field:nth-child(3n),.pd-partition-5 .pd-field:nth-child(5n),.pd-partition-1 .pd-field{border-right:none}.pd-field-label{letter-spacing:.045em;text-transform:uppercase;color:#8a7a72;align-items:center;gap:5px;margin-bottom:4px;font-size:10px;font-weight:750;display:inline-flex}.pd-field-ico{color:#8b6f4e;background:#f3eee8;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.pd-field-value{color:var(--ink-deep);word-break:break-word;font-size:13px;font-weight:700;line-height:1.35;display:block}.pd-field.is-overdue .pd-field-value{color:#b91c1c}.pd-field.is-wide .pd-field-value{font-weight:650}.pd-block+.pd-block{border-top:1px solid var(--border-light);margin-top:14px;padding-top:14px}.pd-block-title{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:10px;display:flex}.pd-block-title strong{color:var(--ink-deep);font-size:14px}.pd-block-title em{color:var(--text-muted);font-size:11px;font-style:normal;font-weight:650}.pd-site{grid-template-columns:64px minmax(0,1fr);gap:12px;display:grid}.pd-site+.pd-site{border-top:1px solid var(--border-light);margin-top:14px;padding-top:14px}.pd-site-thumb{color:#8b6f4e;background:linear-gradient(145deg,#c4b08a59 0%,#8b6f4e33 100%),linear-gradient(#f8f3ec 0%,#ebe2d6 100%);border:1px solid #a68e6b4d;border-radius:12px;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.pd-site-foot{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.pd-foot-item{background:#fbf8f4;border:1px solid #a68e6b2e;border-radius:9px;align-items:flex-start;gap:8px;padding:9px 10px;display:flex}.pd-foot-item>svg{color:#8b6f4e;flex-shrink:0;margin-top:1px}.pd-foot-item em{letter-spacing:.04em;text-transform:uppercase;color:#8a7a72;margin-bottom:2px;font-size:10px;font-style:normal;font-weight:750;display:block}.pd-foot-item strong{color:var(--ink-deep);font-size:12px;font-weight:700;line-height:1.3;display:block}.pd-link{color:#1d4ed8;align-items:center;gap:4px;font-weight:700;text-decoration:none;display:inline-flex}.pd-link:hover{text-decoration:underline}.pd-team-row+.pd-team-row{border-top:1px solid var(--border-light);margin-top:12px;padding-top:12px}.pd-team-top{align-items:center;gap:8px;margin-bottom:10px;display:flex}.pd-avatar{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:11px;font-weight:800;display:flex;box-shadow:0 2px 6px #0f766e40}.pd-team-name{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.pd-team-name strong{color:var(--ink-deep);font-size:13px}.pd-note{background:linear-gradient(#fbf8f4 0%,#f5efe8 100%);border:1px solid #a68e6b38;border-radius:10px;gap:10px;margin-bottom:10px;padding:11px 12px;display:flex}.pd-note>svg{color:#8b6f4e;flex-shrink:0;margin-top:2px}.pd-note p{color:var(--ink);margin:0;font-size:12px;font-weight:550;line-height:1.45}.pd-note footer{color:var(--text-muted);margin-top:6px;font-size:10px;font-weight:650}.pd-activity{flex-direction:column;gap:8px;display:flex}.pd-activity-item{border:1px solid var(--border-light);background:#fff;border-radius:10px;gap:10px;padding:9px 10px;display:flex}.pd-activity-ico{color:#8b6f4e;background:#f3eee8;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.pd-activity-item strong{color:var(--ink-deep);font-size:12px;display:block}.pd-activity-item p{color:var(--text-muted);margin:2px 0 0;font-size:11px;font-weight:600;line-height:1.35}.pd-empty-inline{color:var(--text-muted);margin:0;padding:6px 0;font-size:12px;font-weight:600}@media (max-width:1100px){.pd-partition-5{grid-template-columns:repeat(3,minmax(0,1fr))}.pd-partition-5 .pd-field:nth-child(5n){border-right:1px solid #a68e6b29}.pd-partition-5 .pd-field:nth-child(3n){border-right:none}}@media (max-width:960px){.pd-layout{grid-template-columns:1fr}.pd-partition-3,.pd-partition-5{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-partition-3 .pd-field:nth-child(3n),.pd-partition-5 .pd-field:nth-child(3n),.pd-partition-5 .pd-field:nth-child(5n){border-right:1px solid #a68e6b29}.pd-partition-3 .pd-field:nth-child(2n),.pd-partition-5 .pd-field:nth-child(2n){border-right:none}.pd-site-foot{grid-template-columns:1fr}}@media (max-width:560px){.pd-page{padding:12px 12px 24px}.pd-hero-main h1{font-size:18px}.pd-partition-2,.pd-partition-3,.pd-partition-5{grid-template-columns:1fr}.pd-partition-2 .pd-field,.pd-partition-3 .pd-field,.pd-partition-5 .pd-field{border-right:none}.pd-site{grid-template-columns:1fr}}.cost-sheet{--cost-yellow:#fff9e1;--cost-ink:#3a2e2b;--cost-muted:#7a6a62;--cost-header:#2f2623;--cost-border:#a68e6b59;border:1px solid var(--cost-border);color:var(--cost-ink);background:linear-gradient(#f9f7f4f5,#f3eee8fa),radial-gradient(at 0 0,#a68e6b1f,#0000 50%);border-radius:14px;padding:12px 14px 16px}.cost-sheet-loading{color:var(--cost-muted);align-items:center;gap:8px;padding:28px 12px;font-size:14px;display:flex}.cost-sheet-tabs{border-bottom:1px solid var(--cost-border);flex-wrap:wrap;align-items:flex-end;gap:2px;margin-bottom:14px;padding-bottom:0;display:flex}.cost-sheet-tab{appearance:none;color:#3a2e2b;font-family:var(--font-cinzel), Georgia, serif;letter-spacing:.03em;cursor:pointer;background:#ffffff59;border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;padding:9px 14px 10px;font-size:13px;font-weight:700;position:relative;top:1px}.cost-sheet-tab:hover{color:#2a211e;background:#ffffffbf}.cost-sheet-tab.is-active{color:#2a211e;border-color:var(--cost-border);background:#fff;box-shadow:0 1px #fff}.cost-sheet-tab.is-active:after{content:"";background:#8c7354;height:3px;position:absolute;bottom:0;left:10px;right:10px}.cost-sheet-tab-add{color:#5c4a3a;letter-spacing:0;background:#a68e6b1f;align-items:center;gap:4px;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:600;display:inline-flex}.cost-sheet-actions{align-items:center;gap:10px;margin-left:auto;padding:4px 0 8px;display:flex}.cost-sheet-dirty{color:#b45309;font-size:11px}.cost-sheet-footer{border-top:1px solid var(--cost-border);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:12px;display:flex}.cost-sheet-footer p{color:var(--cost-muted);margin:0;font-size:12px}.cost-sheet-add-inline{border:1px dashed var(--cost-border);background:#ffffff8c;border-radius:10px;grid-template-columns:1fr 1.4fr auto;align-items:end;gap:10px;margin-bottom:14px;padding:12px;display:grid}.cost-sheet-add-inline label{color:var(--cost-muted);flex-direction:column;gap:4px;font-size:11px;display:flex}.cost-sheet-add-actions{gap:6px;display:flex}.cost-cell-edit{background:var(--cost-yellow);width:100%;color:var(--cost-ink);border:1px solid #a68e6b66;border-radius:3px;padding:6px 8px;font-family:Inter,system-ui,sans-serif;font-size:13px}.cost-cell-edit:focus{outline:1px solid var(--gold);border-color:var(--gold)}.cost-cell-num{text-align:right;font-variant-numeric:tabular-nums}.po-stage-panel{padding:4px 0 8px}.proj-tracker-table-wrap{margin-top:.75rem;overflow-x:auto}.proj-tracker-table th,.proj-tracker-table td{vertical-align:middle}.proj-tracker-table .po-qty-input{width:100%;min-width:7.5rem}.proj-tracker-stage .cost-sheet-footer{margin-top:1rem}.proj-tracker-filter-bar{flex-wrap:wrap;align-items:center;gap:12px 16px;width:100%;display:flex}.proj-tracker-status-chips{flex-wrap:wrap;gap:6px;display:flex}.proj-tracker-chip{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.proj-tracker-chip:hover{border-color:var(--primary);color:var(--primary)}.proj-tracker-chip.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.proj-tracker-odoo .odoo-table input[type=checkbox]{appearance:none;cursor:pointer;vertical-align:middle;width:22px;height:22px;accent-color:unset;background:#fff;border:2px solid #9ca3af;border-radius:50%;flex-shrink:0}.proj-tracker-odoo .odoo-table input[type=checkbox]:checked{border-color:var(--primary);background:var(--primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 1 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:14px 14px}.proj-tracker-odoo .odoo-table input[type=checkbox]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.proj-tracker-odoo .odoo-table th{white-space:nowrap}.proj-tracker-odoo .odoo-table th[data-col=plannedDate],.proj-tracker-odoo .odoo-table th[data-col=actualDate],.proj-tracker-odoo .odoo-table td[data-col=plannedDate],.proj-tracker-odoo .odoo-table td[data-col=actualDate]{min-width:6.75rem}.proj-tracker-odoo .odoo-table th[data-col=_edit],.proj-tracker-odoo .odoo-table td[data-col=_edit],.proj-tracker-odoo .odoo-table th[data-col=_notes],.proj-tracker-odoo .odoo-table td[data-col=_notes]{text-align:center;width:3rem;min-width:3rem;max-width:3rem;padding-left:8px;padding-right:8px}.proj-tracker-odoo .odoo-table td[data-col=notesPreview]{max-width:220px}.proj-tracker-notes-cell{color:#374151;align-items:center;gap:6px;font-size:13px;line-height:1.35;display:inline-flex}.proj-tracker-notes-pill{color:#5b21b6;background:#ede9fe;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1}.proj-tracker-notes-btn{position:relative}.proj-tracker-notes-btn-count{color:#fff;text-align:center;background:#7c3aed;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.proj-tracker-notes-modal{max-width:520px}.proj-tracker-notes-compose{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.proj-tracker-notes-compose span{color:#4b3d39;font-size:13px;font-weight:600}.proj-tracker-notes-compose textarea{resize:vertical;border:1px solid #d4c4b0;border-radius:10px;min-height:72px;padding:10px 12px;font-size:14px}.proj-tracker-notes-compose .btn{align-self:flex-end}.proj-tracker-notes-roadmap h4{color:#3d2f2a;margin:0 0 12px;font-size:14px}.proj-tracker-notes-empty{color:#9ca3af;margin:0;font-size:13px}.proj-tracker-notes-timeline{border-left:2px solid #e8dfd4;margin:0;padding:0 0 0 12px;list-style:none}.proj-tracker-notes-timeline li{padding:0 0 16px 16px;position:relative}.proj-tracker-notes-timeline li:last-child{padding-bottom:0}.proj-tracker-notes-dot{background:#8c7354;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:-7px;box-shadow:0 0 0 1px #e8dfd4}.proj-tracker-notes-card{background:#faf7f2;border:1px solid #e8dfd4;border-radius:10px;padding:10px 12px}.proj-tracker-notes-card p{color:#1f2937;margin:0 0 8px;font-size:14px;line-height:1.45}.proj-tracker-notes-card footer{color:#6b7280;flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.proj-tracker-notes-card footer span{align-items:center;gap:4px;display:inline-flex}.em-task-list-odoo .odoo-table input[type=checkbox]{appearance:none;cursor:pointer;vertical-align:middle;width:22px;height:22px;accent-color:unset;background:#fff;border:2px solid #9ca3af;border-radius:50%;flex-shrink:0}.em-task-list-odoo .odoo-table input[type=checkbox]:checked{border-color:var(--primary);background:var(--primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 1 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:14px 14px}.em-task-list-odoo .odoo-table input[type=checkbox]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.em-task-list-filter-bar{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.em-reference-filter{align-items:center;gap:8px;font-size:13px;display:inline-flex}.em-reference-filter-label{color:#6b7280;white-space:nowrap;font-weight:500}.em-reference-filter select{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 10px;font-size:13px}.em-ref-badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.em-ref-badge--task-list{color:#0369a1;background:#e0f2fe}.em-ref-badge--pms{color:#6b21a8;background:#f3e8ff}.em-task-list-odoo .odoo-table{table-layout:fixed;width:100%}.em-task-list-odoo .odoo-table th,.em-task-list-odoo .odoo-table td{vertical-align:middle;padding:6px 10px;font-size:13px;line-height:1.35}.em-task-list-odoo .odoo-table .data-row td{border-bottom:1px solid #e5e7eb}.em-task-list-odoo .odoo-table th{white-space:nowrap;font-size:12px}.em-task-list-odoo .em-cell-text{word-break:break-word;line-height:1.45;display:block}.em-task-list-odoo .odoo-table th:first-child,.em-task-list-odoo .odoo-table td:first-child{width:40px}.em-task-list-odoo .odoo-table th[data-col=taskId],.em-task-list-odoo .odoo-table td[data-col=taskId]{width:4.25rem;max-width:4.25rem;padding-left:6px;padding-right:6px}.em-task-list-odoo .odoo-table th[data-col=taskId] .th-content,.em-task-list-odoo .odoo-table td[data-col=taskId] .em-cell-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.em-task-list-odoo .odoo-table th[data-col=reference],.em-task-list-odoo .odoo-table td[data-col=reference]{width:5.5rem;max-width:5.5rem;padding-left:6px;padding-right:6px}.em-task-list-odoo .odoo-table th[data-col=projectName],.em-task-list-odoo .odoo-table td[data-col=projectName]{width:10%}.em-task-list-odoo .odoo-table th[data-col=workType],.em-task-list-odoo .odoo-table td[data-col=workType]{width:11%}.em-task-list-odoo .odoo-table th[data-col=workName],.em-task-list-odoo .odoo-table td[data-col=workName]{width:28%}.em-task-list-odoo .odoo-table th[data-col=doerName],.em-task-list-odoo .odoo-table td[data-col=doerName]{width:8%}.em-task-list-odoo .odoo-table th[data-col=plannedDate],.em-task-list-odoo .odoo-table th[data-col=actualDate],.em-task-list-odoo .odoo-table td[data-col=plannedDate],.em-task-list-odoo .odoo-table td[data-col=actualDate]{width:5.75rem;max-width:5.75rem;padding-left:4px;padding-right:4px;font-size:12px}.em-task-list-odoo .odoo-table th[data-col=plannedDate] .th-content,.em-task-list-odoo .odoo-table th[data-col=actualDate] .th-content{letter-spacing:-.02em;font-size:11px}.em-task-list-odoo .odoo-table th[data-col=status],.em-task-list-odoo .odoo-table td[data-col=status]{width:6.5rem;max-width:6.5rem}.em-task-list-odoo .inline-actions-th,.em-task-list-odoo .inline-new-actions{width:72px;padding:4px}.ucl-page{padding:0 0 24px}.ucl-odoo-like.em-task-list-odoo .odoo-table{table-layout:auto}.ucl-odoo-like .ucl-master-table .ucl-col-task,.ucl-odoo-like .ucl-checklist-table td:nth-child(3){word-break:break-word;min-width:10rem}.ucl-filter-badge{color:#fff;background:#e74c3c;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;margin-left:6px;font-size:10px;font-weight:700;display:inline-flex}.ucl-filters-popover{z-index:50;background:#fff;border:1px solid #ddd;border-radius:8px;width:280px;margin-top:8px;padding:12px 16px 16px;font-size:13px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000026}.ucl-filters-popover-wide{width:560px}.ucl-filters-popover-head{color:#444;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;display:flex}.ucl-filters-popover-head button{color:#c0392b;cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:500}.ucl-filters-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.ucl-filter-field{color:#6b7280;flex-direction:column;gap:6px;font-size:12px;display:flex}.ucl-odoo-like .ucl-inner-tab.active{background:var(--primary);border-color:var(--primary)}.ucl-loading{color:#6b7280;padding:24px}.ucl-inner-tabs{gap:8px;margin-bottom:12px;display:flex}.ucl-inner-tabs-inline{flex-shrink:0;margin-bottom:0}.ucl-page .page-header.ucl-page-header-merged{flex-flow:row;align-items:center;gap:8px;width:100%;padding-top:8px;display:flex}.ucl-page .ucl-page-header-merged .page-header-left.ucl-header-left{flex-wrap:nowrap;gap:8px;min-width:0;flex:none!important}.ucl-page .ucl-page-header-merged .page-header-right{flex-wrap:nowrap;flex:auto;justify-content:flex-end;width:auto;min-width:0}.ucl-page .ucl-page-header-merged .search-box{flex:0 200px;min-width:120px;max-width:200px}.ucl-page .ucl-page-header-merged .toolbar-btn{white-space:nowrap;flex-shrink:0}.ucl-inner-tabs-inline .ucl-inner-tab{padding:6px 12px;font-size:12px}.em-task-list-odoo .odoo-table td.ucl-checkbox-cell-completed,.ucl-odoo-like .odoo-table td.ucl-checkbox-cell-completed{opacity:.85}.em-task-list-odoo .odoo-table td.ucl-checkbox-cell-completed input[type=checkbox],.ucl-odoo-like .odoo-table td.ucl-checkbox-cell-completed input[type=checkbox]{opacity:.55;filter:blur(.65px);cursor:not-allowed;pointer-events:none}.ucl-odoo-like .ucl-checklist-table .ucl-col-category{white-space:nowrap;min-width:10rem}.ucl-odoo-like .odoo-table th .sort-icons{color:#fff;opacity:.65}.ucl-odoo-like .odoo-table th .active-sort{opacity:1}.ucl-inner-tab{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}.ucl-inner-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.ucl-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.ucl-toolbar-wrap{row-gap:10px}.ucl-search{border:1px solid #d1d5db;border-radius:6px;min-width:180px;padding:6px 10px;font-size:13px}.ucl-select,.ucl-date{border:1px solid #d1d5db;border-radius:6px;padding:6px 8px;font-size:13px}.ucl-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow-x:auto}.ucl-data-table{border-collapse:collapse;table-layout:auto;width:100%;font-size:13px}.ucl-data-table thead th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:#fff;white-space:nowrap;vertical-align:middle;background:linear-gradient(135deg,#5b3a7a 0%,#7c4f9e 100%);padding:10px 12px;font-size:11px;font-weight:700}.ucl-data-table tbody td{vertical-align:top;color:#1f2937;border-bottom:1px solid #eef0f3;padding:10px 12px;line-height:1.45}.ucl-data-table tbody tr:hover{background:#faf8fc}.ucl-master-table .ucl-col-category{color:#4b5563;white-space:nowrap;width:12%;min-width:11rem;font-weight:600}.ucl-odoo-like .odoo-table tbody tr.data-row td{border-bottom:1px solid #e5e7eb}.ucl-master-table .ucl-col-task{word-break:break-word;width:32%;min-width:12rem}.ucl-master-table .ucl-col-doer{width:14%;min-width:8rem}.ucl-master-table .ucl-col-dept{width:12%;min-width:7rem}.ucl-master-table .ucl-col-freq{white-space:nowrap;width:8%;min-width:5rem}.ucl-master-table .ucl-col-date{white-space:nowrap;width:9%;min-width:6rem}.ucl-checklist-table .ucl-col-check{width:44px}.ucl-sheet-freq-block{margin-top:16px;padding-top:4px}.ucl-sheet-freq-block .prj-field-label{margin-bottom:8px;display:block}.ucl-sheet-hint{color:#6b7280;margin:8px 0 0;font-size:12px}.ucl-master-sheet .ucl-freq-pill.active,.ucl-master-sheet .ucl-weekday.active{background:var(--primary);border-color:var(--primary);color:#fff}.ucl-master-sheet .ucl-inline-cal-cell--active{background:var(--primary);border-color:var(--primary)}.ucl-inline-cal-compact{width:100%;max-width:300px}.ucl-inline-cal-compact .ucl-inline-cal-cell{border-radius:6px;min-height:28px;font-size:12px}.ucl-inline-cal-compact .ucl-inline-cal-nav-btn{width:28px;height:28px}.ucl-inline-cal-compact .ucl-inline-cal-title{font-size:13px}.ucl-master-sheet .prj-field-user:focus-within{z-index:20;position:relative}.ucl-table{width:100%}.ucl-actions{white-space:nowrap}.ucl-icon-btn{cursor:pointer;color:#374151;background:0 0;border:none;padding:4px}.ucl-icon-btn.danger{color:#b91c1c}.ucl-status{border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.ucl-status--pending{color:#1d4ed8;background:#dbeafe}.ucl-status--overdue{color:#b91c1c;background:#fee2e2}.ucl-status--completed{color:#047857;background:#d1fae5}.ucl-circle-check,.ucl-row-check{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:0;display:inline-flex}.ucl-row-check.is-on{color:var(--primary)}.ucl-pager{justify-content:flex-end;align-items:center;gap:12px;margin-top:12px;font-size:13px;display:flex}.ucl-modal{max-width:520px}.ucl-freq-pills{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.ucl-freq-pill{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:4px 12px;font-size:12px}.ucl-freq-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.ucl-weekdays{flex-wrap:wrap;gap:6px;display:flex}.ucl-weekday{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:50%;width:36px;height:36px;font-size:11px}.ucl-weekday.active{background:var(--primary);color:#fff;border-color:var(--primary)}.ucl-weekdays-dates{flex-wrap:nowrap;justify-content:space-between;gap:4px;width:100%;display:flex}.ucl-weekday-date{aspect-ratio:1;box-sizing:border-box;border-radius:50%;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;width:40px;min-width:0;max-width:40px;height:40px;padding:0;line-height:1;display:flex}.ucl-weekday-name{opacity:.85;font-size:8px;font-weight:600;line-height:1}.ucl-weekday-num{font-size:11px;font-weight:700;line-height:1.1}.ucl-inline-cal-compact .ucl-weekdays-dates{flex-wrap:nowrap}.ucl-inline-cal-compact .ucl-weekday-date{flex:0 0 36px;width:36px;max-width:36px;height:36px}.ucl-inline-week,.ucl-inline-month{background:#fafbfc;border:1px solid #e5e7eb;border-radius:10px;margin-top:8px;padding:12px}.ucl-inline-cal-nav{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ucl-inline-cal-nav-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.ucl-inline-cal-title{color:#374151;font-size:14px;font-weight:600}.ucl-inline-cal-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;display:grid}.ucl-inline-cal-wd{text-align:center;color:#6b7280;font-size:11px;font-weight:600}.ucl-inline-cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.ucl-inline-cal-cell{aspect-ratio:1;color:#374151;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:8px;min-height:36px;font-size:13px;font-weight:500}.ucl-inline-cal-cell:hover{background:#f3f4f6;border-color:#d1d5db}.ucl-inline-cal-cell--active{background:var(--primary);color:#fff;border-color:var(--primary)}.ucl-inline-cal-cell--empty{background:0 0;border:none}.searchable-select{position:relative}.searchable-select-list{z-index:40;background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:200px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.searchable-select-option{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:8px 12px;font-size:13px}.searchable-select-option:hover{background:#f3f4f6}.spin{animation:.8s linear infinite spin}.prod-draw-stage .prod-draw-card{background:#ffffffa6;border:1px solid #0c6e8226;border-radius:12px;margin-top:1.25rem;padding:1rem 1.1rem}.prod-draw-card-title{margin:0 0 .75rem;font-size:1.05rem}.prod-draw-split{grid-template-columns:1fr 1fr;align-items:start;gap:1.25rem;display:grid}.prod-draw-pane label{flex-direction:column;gap:.35rem;margin-top:.75rem;font-size:.85rem;display:flex}.prod-draw-pane input,.prod-draw-pane textarea{font:inherit;border:1px solid #0000001f;border-radius:8px;padding:.45rem .6rem}.prod-draw-label{color:#0000008c;margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.prod-draw-stage .cost-product-photo{grid-template-rows:auto auto;height:auto;min-height:0}.prod-draw-stage .cost-product-photo img,.prod-draw-stage .cost-product-photo-empty{object-fit:contain;object-position:top center;height:auto;max-height:200px}.act-cost-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.act-cost-card{background:#ffffffb3;border:1px solid #0c6e8226;border-radius:10px;flex-direction:column;gap:.35rem;padding:1rem;display:flex}.act-cost-card.is-estimate{border-color:#0c6e8259}.act-cost-card.is-variance.is-over{background:#fff0ebd9;border-color:#b43c2873}.act-cost-card.is-variance.is-under{background:#ebfff5d9;border-color:#168a5a73}.act-cost-card-label{color:#0000008c;font-size:.8rem;font-weight:600}.act-cost-card-value{font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;font-size:1.35rem;display:flex}.act-cost-card-hint{color:#00000080;font-size:.78rem}.act-cost-card label{flex-direction:column;gap:.4rem;font-size:.85rem;display:flex}.act-cost-notes{flex-direction:column;gap:.4rem;margin-top:1rem;font-size:.85rem;display:flex}.act-cost-notes textarea{font:inherit;border:1px solid #0000001f;border-radius:8px;padding:.5rem .65rem}@media (max-width:900px){.act-cost-grid,.prod-draw-split{grid-template-columns:1fr}}.mat-recv-partial{cursor:pointer;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:flex-start;gap:10px;margin:16px 0 8px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.mat-recv-partial input{flex-shrink:0;margin-top:3px}.po-stage-intro{color:var(--cost-muted);margin:0 0 12px;font-size:12px;line-height:1.45}.po-book-help{color:var(--ink-deep);background:#0c6e820f;border:1px solid #0c6e822e;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:12px;line-height:1.45}.po-book-help.is-muted{color:var(--cost-muted);background:#a68e6b14;border-color:#a68e6b33;margin-top:-6px;font-size:11px}.po-book-help code{font-size:11px}.po-stage-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.po-tab-pill{background:#3a2e2b1f;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:800}.cost-sheet-tab.is-active .po-tab-pill{background:#ffffff40}.po-inv-table tr.is-ok{background:linear-gradient(90deg,#168a5a24 0%,#168a5a0a 100%)}.po-inv-table tr.is-short{background:linear-gradient(90deg,#dc26261f 0%,#dc26260a 100%)}.po-short-qty{color:#b91c1c;font-weight:800}.po-status-pill{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;display:inline-block}.po-status-pill.is-ok{color:#0f5c42;background:#168a5a2e}.po-status-pill.is-short{color:#b91c1c;background:#dc262626}.po-stock-ok{color:#0f5c42;font-size:11px;font-weight:700}.po-empty{color:var(--cost-muted);background:#a68e6b14;border-radius:10px;margin:12px 0;padding:14px;font-size:13px}.po-unit{color:var(--cost-muted);font-size:11px;font-weight:600}.po-po-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin-bottom:14px;display:grid}.po-po-meta label{color:var(--cost-muted);flex-direction:column;gap:4px;font-size:11px;font-weight:700;display:flex}.po-po-meta label.is-wide{grid-column:1/-1}.po-po-meta input{border:1px solid var(--cost-border);font:inherit;background:#fffefb;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600}.po-qty-input.is-over{background:#dc26260f;border-color:#b91c1c}.po-book-cap{color:var(--cost-muted);margin-top:2px;font-size:10px;font-weight:600;display:block}.po-qty-input{width:100%;max-width:110px;font:inherit;text-align:right;border:1px solid #a68e6b59;border-radius:6px;padding:6px 8px;font-size:13px;font-weight:700}.po-totals{flex-direction:column;gap:6px;max-width:280px;margin-top:14px;margin-left:auto;font-size:13px;display:flex}.po-totals>div{justify-content:space-between;gap:12px;display:flex}.po-totals .is-grand{border-top:2px solid var(--cost-border);margin-top:4px;padding-top:8px;font-size:15px}.po-pdf-offscreen{pointer-events:none;opacity:0;position:fixed;top:0;left:-9999px}@media (max-width:720px){.po-po-meta{grid-template-columns:1fr}}.cost-cell-muted{color:var(--cost-muted);font-size:13px}.cost-btn{background:var(--ink);color:#fff;cursor:pointer;border:1px solid #4b3d3959;border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;display:inline-flex}.cost-btn:disabled{opacity:.55;cursor:not-allowed}.cost-btn-ghost{color:var(--cost-ink);border-color:var(--cost-border);background:0 0}.cost-btn-danger{color:var(--danger);background:0 0;border-color:#e74c3c73}.cost-btn-danger:hover:not(:disabled){background:#e74c3c14}.cost-btn-danger-solid{color:#fff;background:#c0392b;border-color:#c0392b}.cost-btn-danger-solid:hover:not(:disabled){background:#a93226}.cost-modal-overlay{z-index:120;background:#2a211e73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.cost-modal{background:#fff;border:1px solid #a68e6b59;border-radius:12px;width:min(420px,100%);padding:16px 18px;box-shadow:0 18px 48px #2a211e38}.cost-modal-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.cost-modal-head h3{font-family:var(--font-cinzel), Georgia, serif;color:#2a211e;margin:0;font-size:16px}.cost-modal-body{color:#4b3d39;margin:0 0 16px;font-size:14px;line-height:1.45}.cost-modal-actions{justify-content:flex-end;gap:8px;display:flex}.cost-doc-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.cost-btn-done{color:#fff;background:#2f6b4f;border-color:#2f6b4f;margin-left:auto}.cost-btn-done:hover:not(:disabled){background:#255a42}.cost-done-badge{color:#2f6b4f;background:#2f6b4f1a;border:1px solid #2f6b4f47;border-radius:6px;align-items:center;gap:6px;margin-left:auto;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.cost-doc{color:#2a211e;background:#fff;border:1px solid #a68e6b59;border-radius:10px;padding:18px 18px 14px}.cost-doc-header{border-bottom:2px solid #8c7354;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:12px;display:flex}.cost-doc-brand{font-family:var(--font-cinzel), Georgia, serif;letter-spacing:.14em;color:#8c7354;margin:0 0 4px;font-size:13px;font-weight:700}.cost-doc-header h1{font-family:var(--font-cinzel), Georgia, serif;color:#2a211e;margin:0;font-size:20px;font-weight:700}.cost-doc-sub{color:#7a6a62;margin:4px 0 0;font-size:12px}.cost-doc-meta{gap:6px;min-width:180px;font-size:12px;display:grid}.cost-doc-meta span{color:#7a6a62;text-transform:uppercase;letter-spacing:.04em;font-size:10px;display:block}.cost-doc-meta strong{color:#2a211e;font-weight:600}.cost-doc-table{border-collapse:collapse;width:100%;margin-bottom:14px;font-size:12.5px}.cost-doc-table th{color:#fff;text-align:left;background:#3a2e2b;padding:8px 10px;font-weight:500}.cost-doc-table td{vertical-align:top;border:1px solid #e0d6cb;padding:7px 10px}.cost-doc-table tbody tr:nth-child(2n){background:#faf7f3}.cost-doc-product{color:#3a2e2b;font-weight:600}.cost-doc-totals{background:#fff;border:1px solid #e0d6cb;border-radius:8px;width:100%;max-width:420px;margin:0 0 18px auto;overflow:hidden}.cost-doc-totals-row{border-bottom:1px solid #efe8df;justify-content:space-between;gap:12px;padding:8px 12px;font-size:13px;display:flex}.cost-doc-totals-row:last-child{border-bottom:none}.cost-doc-totals-row span{color:#6b5b52}.cost-doc-totals-row strong{font-variant-numeric:tabular-nums;color:#2a211e}.cost-doc-totals-row.is-grand{background:#3a2e2b;padding:10px 12px}.cost-doc-totals-row.is-grand span,.cost-doc-totals-row.is-grand strong{color:#fff;font-size:14px}.cost-modal-pct{width:min(440px,100%)}.cost-pct-fields{gap:10px;margin-bottom:12px;display:grid}.cost-pct-fields label{color:#6b5b52;flex-direction:column;gap:4px;font-size:12px;display:flex}.cost-pct-preview{background:#faf7f3;border:1px solid #e0d6cb;border-radius:8px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;padding:10px;display:grid}.cost-pct-preview div{flex-direction:column;gap:2px;display:flex}.cost-pct-preview span{color:#7a6a62;font-size:11px}.cost-pct-preview strong{font-size:14px}.cost-doc-section{font-family:var(--font-cinzel), Georgia, serif;margin:0 0 8px;font-size:15px}.cost-doc-footer{color:#7a6a62;border-top:1px solid #a68e6b66;justify-content:space-between;gap:16px;margin-top:18px;padding-top:12px;font-size:11px;display:flex}.cost-doc-footer p{margin:4px 0 0}.cost-doc-sign{text-align:right;flex-direction:column;gap:28px;min-width:140px;display:flex}.cost-product-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.cost-product-hint{color:var(--cost-muted);margin:0;font-size:12px}.cost-icon-btn{appearance:none;color:var(--cost-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px}.cost-icon-btn:hover{color:var(--danger);background:#e74c3c14}.cost-product-header{grid-template-columns:minmax(0,1.15fr) minmax(240px,320px);align-items:stretch;gap:18px;margin-bottom:14px;display:grid}.cost-product-main{flex-direction:column;gap:10px;min-width:0;display:flex}.cost-product-fields{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.cost-product-fields label{color:var(--cost-muted);flex-direction:column;gap:4px;font-size:11px;display:flex}.cost-calc-pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cost-calc-pair>div{border:1px solid var(--cost-border);background:#ffffffb3;border-radius:6px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.cost-calc-pair span{color:var(--cost-muted);font-size:11px}.cost-calc-pair strong{font-variant-numeric:tabular-nums;font-size:15px}.cost-product-photo{grid-template-rows:auto 1fr;align-self:stretch;gap:6px;height:100%;min-height:100%;display:grid}.cost-product-photo-actions{justify-content:flex-start;gap:6px;display:flex}.cost-product-photo img,.cost-product-photo-empty{object-fit:cover;border:1px solid var(--cost-border);background:#fff9;border-radius:10px;width:100%;height:100%;min-height:0}.cost-product-photo-empty{color:var(--cost-muted);place-items:center;font-size:14px;display:grid}.cost-mat-cell{min-width:240px;position:relative;overflow:visible}.cost-mat-select,.cost-mat-input-wrap{position:relative}.cost-mat-input{padding-right:28px}.cost-mat-caret{color:var(--cost-muted);pointer-events:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.cost-mat-menu{z-index:80;border:1px solid var(--cost-border);background:#fff;border-radius:8px;max-height:260px;overflow:auto;box-shadow:0 10px 28px #2a211e24}.cost-mat-menu-fixed{position:fixed}.cost-mat-menu ul{margin:0;padding:4px;list-style:none}.cost-mat-option{text-align:left;cursor:pointer;width:100%;color:var(--cost-ink);background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;font-size:13px;display:flex}.cost-mat-option span{color:var(--cost-muted);font-size:11px}.cost-mat-option:hover,.cost-mat-option.is-active{background:#f9f7f4f2}.cost-mat-option.is-clear{color:var(--cost-muted);border-bottom:1px solid #e4ddd4e6;border-radius:0}.cost-mat-empty{color:var(--cost-muted);padding:12px;font-size:12px}.cost-table-wrap{border:1px solid var(--cost-border);background:#fff;border-radius:8px;margin-bottom:10px;overflow:visible}.cost-table-scroll{border-radius:8px;overflow-x:auto}.cost-table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.cost-table th{background:var(--cost-header);color:#f4efe8;letter-spacing:.03em;text-align:left;white-space:nowrap;padding:8px 10px;font-size:11px;font-weight:500}.cost-table td{vertical-align:middle;border-top:1px solid #e4ddd4e6;padding:6px 8px}.cost-table tbody tr:hover{background:#f9f7f4d9}.cost-table tfoot td{border-top:1px solid var(--cost-border);background:#f9f7f4f2;padding:10px 8px}.cost-table-bom th:nth-child(n+4),.cost-table-bom td.cost-cell-num{text-align:right}.cost-summary-grid{grid-template-columns:minmax(260px,380px) 1fr;gap:16px;margin-top:8px;display:grid}.cost-summary-calc{border:1px solid var(--cost-border);background:#fff;border-radius:8px;padding:10px 12px}.cost-summary-row{border-bottom:1px solid #e4ddd4b3;grid-template-columns:1fr 120px;align-items:center;gap:8px;padding:6px 0;font-size:13px;display:grid}.cost-summary-row:last-child{border-bottom:none}.cost-summary-row strong{text-align:right;font-variant-numeric:tabular-nums}.cost-summary-grand{margin-top:4px;padding-top:10px;font-size:15px}.cost-summary-cats{border:1px solid var(--cost-border);background:#ffffffa6;border-radius:8px;padding:12px 14px}.cost-summary-cats h3{font-family:var(--font-cinzel), Georgia, serif;margin:0 0 10px;font-size:14px;font-weight:600}.cost-summary-cats ul{margin:0;padding:0;list-style:none}.cost-summary-cats li{border-bottom:1px solid #e4ddd4b3;justify-content:space-between;gap:12px;padding:6px 0;font-size:13px;display:flex}.cost-summary-cats li:last-child{border-bottom:none}@media (max-width:900px){.cost-sheet-add-inline{grid-template-columns:1fr}.cost-sheet-footer{flex-direction:column;align-items:stretch}.cost-product-header{grid-template-columns:1fr}.cost-product-photo img,.cost-product-photo-empty{min-height:180px}.cost-summary-grid{grid-template-columns:1fr}}@media (max-width:560px){.cost-product-fields,.cost-calc-pair{grid-template-columns:1fr}}.pms-master-page{max-width:1100px;padding:20px 24px 32px}.pms-master-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.pms-master-kicker{color:#7a6a62;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;margin:0 0 6px;font-size:12px;font-weight:600;display:inline-flex}.pms-master-head h1{color:#3d2f2a;margin:0 0 8px;font-size:1.5rem}.pms-master-sub{color:#6b7280;max-width:52ch;margin:0;font-size:14px;line-height:1.5}.pms-master-card{background:#fff;border:1px solid #e8dfd4;border-radius:12px;padding:0;overflow:hidden}.pms-master-loading,.pms-master-empty{text-align:center;color:#6b7280;justify-content:center;align-items:center;gap:10px;padding:32px 20px;display:flex}.pms-master-actions{justify-content:flex-end;gap:4px;display:flex}.pms-master-del{color:#b91c1c}.pms-master-sheet{max-width:420px}.pms-master-field{color:#4b3d39;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.pms-master-field input{border:1px solid #d4c4b0;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:400}.pms-master-toolbar{background:#faf7f2;border-bottom:1px solid #e8dfd4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.pms-master-toolbar .search-box{flex:1;min-width:200px;max-width:420px}.pms-master-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pms-export-wrap{position:relative}.pms-export-menu{z-index:30;background:#fff;border:1px solid #e8dfd4;border-radius:10px;flex-direction:column;gap:2px;min-width:148px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #3d2f2a1f}.pms-export-menu button{color:#3d2f2a;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;display:flex}.pms-export-menu button:hover{background:#f5efe6}.pms-master-filter-hint{color:#9ca3af;margin-left:8px;font-size:12px}.pms-master-card .record-count-bar{border-top:none}
