:root{--color-primary:#7b281d;--color-primary-100:#f2e5e2;--color-primary-200:#e4cbc6;--color-primary-300:#d0a49c;--color-primary-400:#bb7d72;--color-primary-500:#a7594d;--color-primary-600:#8f3f31;--color-primary-700:#6b2118;--color-primary-800:#4a1611;--color-bg:#f7f6f5;--color-surface:#fff;--color-text:#1f2329;--color-text-muted:#667085;--color-text-on-primary:#fef6f5;--color-border:#e5d8d5;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);margin:0;overflow:hidden}#root{min-height:100%}.app-loading{background:var(--color-bg);min-height:100vh;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.app-loading p{margin:0}.home-page.op-dashboard{color:var(--color-text);max-width:1180px;margin:0 auto;padding:1rem .75rem 2.5rem}.op-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.op-hero-title{margin:0 0 .35rem;font-size:1.85rem;font-weight:700}.op-hero-sub{color:var(--color-text-muted);max-width:36rem;margin:0}.op-hero-date{text-transform:capitalize}.op-reload{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:8px;padding:.5rem .85rem;font-size:.85rem;font-weight:600}.op-reload:hover:not(:disabled){border-color:var(--color-primary-400)}.op-reload:disabled{cursor:wait;opacity:.7}.op-error{color:#b54708;background:#b947081f;border-radius:8px;margin:0 0 1rem;padding:.65rem .85rem;font-size:.9rem}.op-lead{color:var(--color-text-muted);max-width:52rem;margin:0 0 1.1rem;font-size:.92rem;line-height:1.45}.op-lead strong{color:var(--color-text)}.op-summary{margin-bottom:1.25rem}.op-summary-heading{margin:0 0 .35rem;font-size:1.1rem;font-weight:700}.op-summary-intro{color:var(--color-text-muted);max-width:42rem;margin:0 0 .85rem;font-size:.82rem;line-height:1.4}.op-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:0;padding:0;list-style:none;display:grid}@media (width<=1024px){.op-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.op-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.op-summary-card{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:12px;flex-direction:column;gap:.2rem;min-height:5.5rem;padding:.65rem .75rem;display:flex}.op-summary-card--today{border-color:var(--color-primary-400);box-shadow:inset 0 -3px 0 var(--color-primary)}.op-summary-card--tomorrow{border-color:#aecfe0}.op-summary-card--nextweek{border-color:#d6c1e1}.op-summary-card--month{border-color:#e3ccab}.op-summary-card--year{border-color:#b3dbc4}.op-summary-value{color:var(--color-primary-800);font-size:1.85rem;font-weight:800;line-height:1.1}.op-summary-card--today .op-summary-value{color:var(--color-primary)}.op-summary-label{color:var(--color-text);font-size:.72rem;font-weight:600;line-height:1.25}.op-summary-hint{color:var(--color-text-muted);font-size:.65rem;font-weight:500;line-height:1.2}.op-view-toggle{border:1px solid var(--color-border);border-radius:10px;gap:0;margin-bottom:.75rem;display:inline-flex;overflow:hidden}.op-view-toggle-btn{background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;border:none;padding:.45rem 1.1rem;font-size:.85rem;font-weight:600}.op-view-toggle-btn.is-active{background:var(--color-primary);color:var(--color-text-on-primary)}.op-section-title{margin:0 0 .75rem;font-size:1.15rem;font-weight:700}.op-muted{color:var(--color-text-muted);margin:0;font-size:.9rem}.op-cal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;margin-bottom:1.75rem;padding:1rem}.op-cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;display:flex}.op-cal-nav{align-items:center;gap:.35rem;display:flex}.op-cal-nav-btn{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:8px;padding:.2rem .55rem;font-size:1.2rem;line-height:1}.op-cal-today{background:var(--color-primary-100);border:1px solid var(--color-primary-300);color:var(--color-primary-800);cursor:pointer;border-radius:8px;padding:.35rem .65rem;font-size:.78rem;font-weight:700}.op-cal-title{text-transform:capitalize;margin:0;font-size:1.05rem;font-weight:600}.op-cal-day{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;min-height:240px;padding:.65rem}.op-cal-day--today{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.op-cal-day-head{border-bottom:1px solid var(--color-border);align-items:center;gap:.5rem;margin-bottom:.6rem;padding-bottom:.45rem;display:flex}.op-cal-day-badge{background:var(--color-primary-100);border:1px solid var(--color-primary-300);color:var(--color-primary-800);border-radius:999px;padding:.12rem .5rem;font-size:.72rem;font-weight:700}.op-cal-day-date{color:var(--color-text);text-transform:capitalize;font-size:.88rem;font-weight:600}.op-cal-day-body{flex-direction:column;gap:.45rem;display:flex}.op-cal-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;display:grid}@media (width<=960px){.op-cal-week{grid-template-columns:repeat(7,minmax(120px,1fr));padding-bottom:.35rem;overflow-x:auto}}.op-cal-week-col{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;min-width:0;min-height:200px;display:flex}.op-cal-week-col--today{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.op-cal-week-head{border-bottom:1px solid var(--color-border);text-align:center;flex-direction:column;gap:.1rem;padding:.45rem .5rem;display:flex}.op-cal-week-dow{color:var(--color-text-muted);text-transform:uppercase;font-size:.7rem;font-weight:700}.op-cal-week-daynum{font-size:1.15rem;font-weight:700}.op-cal-week-body{flex-direction:column;flex:1;gap:.45rem;padding:.45rem;display:flex}.op-cal-empty{color:var(--color-text-muted);text-align:center;margin:0;font-size:.75rem;font-style:italic}.op-cal-chip{border:1px solid;border-radius:8px;flex-direction:column;gap:.24rem;padding:.45rem .5rem;text-decoration:none;transition:filter .12s;display:flex;overflow:hidden}.op-cal-chip-banners{border-radius:7px 7px 0 0;flex-direction:column;margin:-.45rem -.5rem .12rem;display:flex;overflow:hidden}.op-cal-chip-localizacion-banner{color:#fdf4ff;letter-spacing:.06em;text-align:center;text-shadow:0 1px #0000002e;text-transform:uppercase;background:linear-gradient(#f0abfc 0%,#c026d3 100%);border-bottom:1px solid #701a7566;padding:.32rem .45rem;font-size:.62rem;font-weight:800;line-height:1.2}.op-cal-chip-opcionado-banner{color:#713f12;letter-spacing:.08em;text-align:center;text-transform:uppercase;background:linear-gradient(#fef08a 0%,#facc15 100%);border-bottom:1px solid #a1620759;margin:0;padding:.32rem .45rem;font-size:.62rem;font-weight:800;line-height:1.2}.op-cal-chip--cal-banners .op-cal-chip-detail-block:first-of-type{border-top:none;margin-top:0;padding-top:.12rem}.op-cal-chip:hover{filter:brightness(.97)}.op-cal-chip-gaffer{font-size:.82rem;font-weight:700;line-height:1.2}.op-cal-chip-project{opacity:.95;font-size:.72rem;font-weight:600;line-height:1.2}.op-cal-chip-type{opacity:.88;font-size:.68rem;font-weight:600;line-height:1.2}.op-cal-chip-detail-block{border-top:1px solid #0000001f;flex-direction:column;gap:.08rem;margin-top:.1rem;padding-top:.18rem;display:flex}.op-cal-chip-detail-title{letter-spacing:.02em;text-transform:uppercase;font-size:.62rem;font-weight:700}.op-cal-chip-detail-list{margin:0;padding:0;list-style:none}.op-cal-chip-detail-list li{padding:.02rem 0;font-size:.66rem;line-height:1.25}.op-cal-chip-detail-empty,.op-cal-chip-note{font-size:.66rem;line-height:1.25}.op-cal-month-weekdays{text-align:center;text-transform:uppercase;color:var(--color-text-muted);grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:.35rem;font-size:.68rem;font-weight:700;display:grid}.op-cal-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.op-cal-month-cell{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;min-height:180px;padding:.25rem .3rem}.op-cal-month-cell--pad{background:0 0;border:none;min-height:0;padding:0}.op-cal-month-cell--today{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.op-cal-month-daynum{margin-bottom:.2rem;font-size:.78rem;font-weight:700}.op-cal-month-chips{flex-direction:column;gap:.3rem;display:flex}.op-availability{margin-bottom:1.75rem}.op-availability-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:.75rem;display:flex}.op-availability-date-picker{align-items:center;gap:.5rem;display:flex}.op-availability-date-picker span{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.op-availability-date-picker input[type=date]{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;padding:.35rem .5rem;font-size:.82rem}.op-availability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@media (width<=900px){.op-availability-grid{grid-template-columns:1fr}}.op-avail-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:.85rem 1rem}.op-avail-card-title{margin:0 0 .65rem;font-size:1rem;font-weight:700}.op-avail-cols{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=600px){.op-avail-cols{grid-template-columns:1fr}}.op-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.op-avail-col h4{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .35rem;font-size:.72rem;font-weight:700}.op-avail-search-label{margin-bottom:.45rem;display:block}.op-avail-search{background:var(--color-bg);border:1px solid var(--color-border);box-sizing:border-box;color:var(--color-text);border-radius:8px;width:100%;padding:.4rem .55rem;font-size:.8rem}.op-avail-search::placeholder{color:var(--color-text-muted)}.op-avail-search:focus{border-color:var(--color-primary-400);outline:none}.op-avail-col--free h4{color:#31724c}.op-avail-col--busy h4{color:#96582c}.op-avail-list{max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.op-avail-list li{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.08rem;padding:.35rem 0;display:flex}.op-avail-list li:last-child{border-bottom:none}.op-avail-name{font-size:.84rem;font-weight:600}.op-avail-meta{color:var(--color-text-muted);font-size:.72rem}.op-avail-empty{color:var(--color-text-muted);font-size:.8rem;font-style:italic}.op-projects{margin-bottom:1.75rem}.op-project-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.op-project-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:12px;display:flex;overflow:hidden}.op-project-card--clickable{cursor:pointer}.op-project-card--clickable:hover{border-color:var(--color-primary-400)!important}.op-project-card--clickable:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.op-project-card-strip{flex-shrink:0;width:6px}.op-project-card-body{flex:1;min-width:0;padding:.75rem .85rem}.op-project-gaffer{color:var(--color-text);margin:0 0 .2rem;font-size:.95rem;font-weight:700}.op-project-name-row{flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 .35rem;display:flex}.op-project-name{margin:0;font-size:.88rem;font-weight:600}.op-project-state-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:.15rem .45rem;font-size:.68rem;font-weight:700}.op-project-state-badge--opcionado{color:#a16207;background:#b453092e;border:1px solid #b4530973}.op-project-meta{color:var(--color-text-muted);margin:0 0 .5rem;font-size:.78rem}.op-project-links{flex-wrap:wrap;gap:.65rem;display:flex}.op-project-links a{color:var(--color-primary-700);font-size:.8rem;font-weight:600;text-decoration:none}.op-project-links a:hover{text-decoration:underline}.op-project-cards--compact{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.op-project-card--compact .op-project-name{font-size:.85rem}.op-projects--past .op-past-list{border:1px solid var(--color-border);border-radius:10px;margin:0;padding:0;list-style:none}.op-past-list li{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto auto;align-items:baseline;gap:.35rem .75rem;padding:.45rem .65rem;display:grid}@media (width<=720px){.op-past-list li{grid-template-columns:1fr}}.op-past-list li:last-child{border-bottom:none}.op-past-gaffer{font-size:.8rem;font-weight:700}.op-past-name{font-size:.82rem}.op-past-dates{color:var(--color-text-muted);font-size:.75rem}.op-past-link{color:var(--color-primary-700);font-size:.78rem;font-weight:600;text-decoration:none}.op-past-link:hover{text-decoration:underline}.login-page{background:radial-gradient(1200px 600px at 20% 0%, var(--color-primary-300) 0%, var(--color-primary-700) 45%, var(--color-primary-800) 100%);min-height:100vh;color:var(--color-text-on-primary);justify-content:center;align-items:center;padding:1.5rem;display:flex}.login-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;width:100%;max-width:400px;padding:2rem;box-shadow:0 24px 48px #00000059}.login-brand{text-align:center;flex-direction:column;align-items:center;margin-bottom:.25rem;display:flex}.login-logo{object-fit:contain;width:auto;max-width:180px;height:auto;max-height:72px;margin-bottom:1rem;display:block}.login-card h1{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.5rem;font-weight:600}.login-subtitle{color:#9aa3b2;margin:0 0 1.75rem;font-size:.9rem}.login-field{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.login-field label{color:#c5cad3;font-size:.8rem;font-weight:500}.login-field input{color:#f2f4f8;background:#00000040;border:1px solid #ffffff1f;border-radius:8px;padding:.65rem .75rem;font-size:1rem}.login-field input:focus{outline-offset:1px;border-color:#0000;outline:2px solid #f5a623}.login-error{color:#ffb4bd;background:#dc354526;border:1px solid #dc354559;border-radius:8px;margin:0 0 1rem;padding:.6rem .75rem;font-size:.85rem}.login-remember{color:#c5cad3;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.login-remember input{width:16px;height:16px}.login-success{color:#b7f5c7;background:#28a74526;border:1px solid #28a74559;border-radius:8px;margin:0 0 1rem;padding:.6rem .75rem;font-size:.85rem}.login-submit{cursor:pointer;background:linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-primary) 100%);width:100%;color:var(--color-text-on-primary);border:none;border-radius:8px;margin-top:.5rem;padding:.75rem 1rem;font-size:1rem;font-weight:600}.login-register-copy{color:#c5cad3;margin-top:1rem;font-size:.84rem;line-height:1.4}.login-register-copy a{color:#f2f4f8;font-weight:600}.login-submit:disabled{opacity:.65;cursor:not-allowed}.register-page{background:radial-gradient(1200px 600px at 20% 0%, var(--color-primary-300) 0%, var(--color-primary-700) 45%, var(--color-primary-800) 100%);color:var(--color-text-on-primary);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.register-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;width:100%;max-width:880px;padding:2rem;box-shadow:0 24px 48px #00000059}.register-brand{text-align:center;flex-direction:column;align-items:center;display:flex}.register-logo{width:auto;max-width:180px;height:auto;max-height:72px;margin-bottom:1rem;display:block}.register-subtitle{color:#c5cad3;margin:.5rem 0 1.25rem}.register-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.register-section-title{color:#f2f4f8;grid-column:1/-1;margin:.45rem 0 .1rem;font-size:1rem;font-weight:700}.register-grid label{color:#c5cad3;flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.register-grid .register-grid-spacer{visibility:hidden}.register-grid .checkbox-line{flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem}.register-grid input:not([type=checkbox]),.register-grid select,.register-grid textarea{color:#f2f4f8;background:#00000040;border:1px solid #ffffff1f;border-radius:8px;padding:.65rem .75rem}.register-full{grid-column:1/-1}.register-input-ok{border-color:#28a745b3!important}.register-input-error{border-color:#dc3545bf!important}.register-check-ok{color:#b7f5c7;font-size:.78rem}.register-check-error{color:#ffb4bd;font-size:.78rem}.register-submit{background:linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-primary) 100%);color:var(--color-text-on-primary);cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:1rem;padding:.75rem 1rem;font-size:1rem;font-weight:600}.register-submit:disabled{cursor:not-allowed;opacity:.65}.register-error{color:#ffb4bd;background:#dc354526;border:1px solid #dc354559;border-radius:8px;margin:0 0 1rem;padding:.6rem .75rem}.register-login-link{text-align:center;margin-top:1rem;font-size:.85rem}.register-login-link a{color:#f2f4f8;font-weight:600}@media (width<=900px){.register-grid{grid-template-columns:1fr}}.app-shell{--sidebar-width:250px;background:var(--color-bg);height:100vh;display:flex;overflow:hidden}.app-shell.is-collapsed{--sidebar-width:90px}.app-overlay{display:none}.app-sidebar{width:var(--sidebar-width);background:linear-gradient(180deg, var(--color-primary-700) 0%, var(--color-primary) 100%);color:var(--color-text-on-primary);border-right:1px solid var(--color-primary-600);z-index:12;height:100vh;padding:.8rem .75rem;transition:width .2s;position:sticky;top:0;overflow:hidden}.app-sidebar-brand{border-bottom:1px solid var(--color-primary-500);align-items:center;gap:.6rem;margin:.25rem .3rem .8rem;padding-bottom:.7rem;display:flex}.app-sidebar-brand img{object-fit:contain;width:34px;height:34px}.app-sidebar-brand span{color:var(--color-text-on-primary);font-size:1.45rem;font-weight:700}.app-sidebar-nav{flex-direction:column;gap:.25rem;margin-top:.2rem;display:flex}.app-sidebar-group{flex-direction:column;gap:.25rem;display:flex}.app-sidebar-group-toggle{color:var(--color-text-on-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.65rem;width:100%;padding:.65rem .7rem;font-size:.95rem;text-decoration:none;display:flex}.app-sidebar-group-toggle:hover{background:var(--color-primary-500)}.app-sidebar-group-arrow{opacity:.9;margin-left:auto}.app-sidebar-submenu{flex-direction:column;gap:.25rem;margin-left:1.75rem;display:flex}.app-sidebar-submenu.is-collapsed{margin-left:0}.app-sidebar-nav a{color:var(--color-text-on-primary);border-radius:8px;align-items:center;gap:.65rem;padding:.65rem .7rem;font-size:.95rem;text-decoration:none;display:flex}.menu-icon{text-align:center;width:18px;line-height:1}.app-sidebar-nav a.active,.app-sidebar-nav a:hover{background:var(--color-primary-500)}.app-content{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.app-topbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);z-index:8;justify-content:space-between;align-items:center;height:62px;padding:0 1rem;display:flex;position:sticky;top:0}.app-topbar-left,.app-topbar-right{align-items:center;gap:.5rem;display:flex}.app-topbar-brand{align-items:center;gap:.6rem;margin-right:.2rem;display:flex}.app-topbar-brand img{object-fit:contain;width:34px;height:34px}.app-topbar-brand span{color:var(--color-primary-700);font-size:1.45rem;font-weight:700}.topbar-icon-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:8px;width:36px;height:36px}.mobile-only{display:none}.topbar-user{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;height:36px;padding:0 .9rem;display:flex}.topbar-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.topbar-user-menu{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;min-width:220px;padding:.8rem;position:absolute;top:52px;right:1rem;box-shadow:0 10px 30px #181c221f}.topbar-user-menu p{color:var(--color-text-muted);margin:0 0 .5rem;font-size:.82rem}.topbar-user-menu button{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:8px;width:100%;padding:.5rem .7rem}.app-main{overscroll-behavior:contain;flex:1;min-height:0;padding:1.1rem 1.25rem 1.25rem;overflow-y:auto}.app-shell.is-collapsed .app-sidebar-nav a,.app-shell.is-collapsed .app-sidebar-group-toggle{justify-content:center;padding-left:0;padding-right:0}.app-shell:not(.is-collapsed) .app-topbar-brand,.app-shell.is-collapsed .app-sidebar-brand{display:none}@media (width<=900px){.app-main{padding:.75rem .75rem .9rem}.mobile-only{display:inline-block}.desktop-only,.app-topbar-brand span{display:none}.app-overlay.is-visible{z-index:11;background:#00000073;border:none;display:block;position:fixed;inset:0}.app-sidebar{height:auto;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.app-sidebar.is-open{transform:translate(0)}}.confirm-dialog-root{z-index:300;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirm-dialog-backdrop{cursor:pointer;background:#0f172a73;border:none;position:fixed;inset:0}.confirm-dialog{z-index:1;border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;width:100%;max-width:460px;padding:1rem;position:relative;box-shadow:0 16px 48px #0f172a33}.confirm-dialog h2{margin:0 0 .45rem;font-size:1.1rem}.confirm-dialog p{color:var(--color-text-muted);margin:0}.confirm-dialog-actions{justify-content:flex-end;gap:.65rem;margin-top:1rem;display:flex}.confirm-dialog-actions button{cursor:pointer;border-radius:8px;padding:.55rem .85rem;font-weight:600}.confirm-dialog-cancel{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.confirm-dialog-confirm{color:#fff;background:#b42318;border:1px solid #b42318}.users-page{color:var(--color-text);max-width:1120px;margin:0 auto;padding:.75rem .5rem 1.25rem}.users-header h1{margin:0;font-size:1.65rem}.users-header{margin-bottom:1rem;display:block}.users-header p{color:var(--color-text-muted);margin:.45rem 0 1rem}.users-toolbar{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.9rem;display:flex}.users-toolbar-actions{align-items:center;display:flex}.users-new-button{border:1px solid var(--color-primary-500);background:var(--color-primary);height:34px;color:var(--color-text-on-primary);cursor:pointer;border-radius:7px;padding:0 .85rem;font-size:.78rem;font-weight:600}.users-filters{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.users-filters input,.users-filters select{border:1px solid var(--color-border);background:var(--color-surface);height:32px;color:var(--color-text);border-radius:999px;padding:0 .7rem;font-size:.78rem}.users-filter-checkbox{border:1px solid var(--color-border);background:var(--color-surface);height:32px;color:var(--color-text);border-radius:999px;align-items:center;gap:.45rem;padding:0 .7rem;font-size:.78rem;display:inline-flex}.users-filter-checkbox input[type=checkbox]{width:auto;margin:0}.users-filters input{width:230px}.users-table-wrap{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;overflow:auto}.users-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:640px}.users-table th,.users-table td{text-align:left;border-bottom:1px solid var(--color-border);text-overflow:ellipsis;white-space:nowrap;padding:.8rem;font-size:.86rem;overflow:hidden}.users-clickable-row{cursor:pointer}.users-clickable-row:hover{background:var(--color-primary-100)}.users-actions-cell{white-space:normal}.users-action-btn{color:var(--color-primary-700);cursor:pointer;background:0 0;border:0;margin-right:.55rem;padding:0;font-size:.8rem;font-weight:600}.users-action-btn:last-child{margin-right:0}.users-action-btn:hover{text-decoration:underline}.users-action-btn--danger{color:#b42318}.users-table th{background:var(--color-primary-100);color:var(--color-primary-800);font-weight:700}.role-pill{border:1px solid var(--color-primary-400);color:var(--color-primary-700);letter-spacing:.03em;border-radius:999px;padding:.18rem .55rem;font-size:.78rem;font-weight:700;display:inline-block}.status-pill{border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.status-pill.active{color:#1f7a38;background:#e9f7ed}.status-pill.inactive{color:#9d3043;background:#fdeef1}@media (width<=900px){.users-toolbar{flex-direction:column;align-items:stretch}.users-toolbar-actions{justify-content:flex-end}.users-filters input{width:100%}.users-page{padding:.25rem .1rem .7rem}.users-pagination{flex-direction:column;align-items:flex-start}}.users-sort-button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:700}.users-pagination{justify-content:space-between;align-items:center;gap:.8rem;margin-top:.8rem;display:flex}.users-pagination-info{color:var(--color-text-muted);font-size:.84rem}.users-pagination-controls{align-items:center;gap:.5rem;display:flex}.users-pagination-controls label{align-items:center;gap:.3rem;font-size:.82rem;display:inline-flex}.users-pagination-controls select,.users-pagination-controls button{border:1px solid var(--color-border);border-radius:8px;padding:.35rem .55rem}.users-pagination-controls button{background:var(--color-surface);cursor:pointer}.users-pagination-controls button:disabled{cursor:not-allowed;opacity:.6}.user-form-page{color:var(--color-text);max-width:1120px;margin:0 auto;padding:.75rem .5rem 1.25rem}.user-form-loading{color:var(--color-text-muted)}.user-form-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.user-form-header h1{margin:0;font-size:1.7rem}.user-form-grid{gap:1.5rem;display:grid}.user-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;padding:1.8rem}.user-section h2{color:var(--color-primary-700);margin:0 0 .9rem;font-size:1.05rem}.user-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.user-section label{color:var(--color-text-muted);flex-direction:column;gap:.3rem;font-size:.86rem;display:flex}.user-field-full{grid-column:1/-1}.user-section input:not([type=checkbox]):not([type=color]),.user-section select,.user-section textarea{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);border-radius:8px;padding:.68rem .78rem;font-size:.95rem}.user-calendar-color-row{flex-wrap:wrap;align-items:center;gap:.85rem;margin-top:.15rem;display:flex}.user-calendar-color-picker{border:1px solid var(--color-border);cursor:pointer;border-radius:12px;flex-shrink:0;width:3rem;height:3rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001a}.user-calendar-color-picker-bg{pointer-events:none;border-radius:10px;position:absolute;inset:0}.user-calendar-color-input{cursor:pointer;opacity:0;border:none;width:100%;height:100%;margin:0;padding:0;position:absolute;top:0;left:0}.user-calendar-color-hex{color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:.92rem;font-weight:600}.user-license-group{text-align:left;white-space:normal;flex-direction:column;grid-column:1/-1;justify-content:flex-start;align-items:flex-start;gap:.55rem;display:flex}.checkbox-label{text-align:left;width:auto;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:.5rem!important;display:inline-flex!important}.checkbox-label input[type=checkbox]{flex:none;width:auto;margin:0}.user-form-actions-bottom{justify-content:flex-end;gap:.7rem;margin-top:.25rem;display:flex}.user-form-password-actions{justify-content:flex-end;margin-top:.8rem;display:flex}.btn-outline,.btn-primary{cursor:pointer;border-radius:8px;height:38px;padding:0 .85rem;font-weight:600}.btn-outline{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.btn-primary{border:1px solid var(--color-primary-600);background:var(--color-primary);color:var(--color-text-on-primary)}.user-form-error{color:#a82f40;background:#fff0f3;border:1px solid #f1b5bf;border-radius:8px;padding:.55rem .7rem}.user-form-success{color:#196b2f;background:#effcf4;border:1px solid #b7ebc6;border-radius:8px;padding:.55rem .7rem}@media (width<=900px){.user-form-page{padding:.25rem .1rem .7rem}.user-form-header{flex-direction:column;align-items:flex-start;gap:.7rem}.user-fields-grid{grid-template-columns:1fr}.user-section{padding:1.25rem}.user-license-group{white-space:normal;flex-direction:column;gap:.55rem}}.companies-page{color:var(--color-text);max-width:1120px;margin:0 auto;padding:.75rem .5rem 1.25rem}.companies-header{margin-bottom:1rem;display:block}.companies-header h1{margin:0;font-size:1.65rem}.companies-header p{color:var(--color-text-muted);margin:.45rem 0 1rem}.companies-toolbar{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.9rem;display:flex}.companies-toolbar-actions{align-items:center;display:flex}.companies-new-button{border:1px solid var(--color-primary-500);background:var(--color-primary);height:34px;color:var(--color-text-on-primary);cursor:pointer;border-radius:7px;padding:0 .85rem;font-size:.78rem;font-weight:600}.companies-filters{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.companies-filters input,.companies-filters select{border:1px solid var(--color-border);background:var(--color-surface);height:32px;color:var(--color-text);border-radius:999px;padding:0 .7rem;font-size:.78rem}.companies-filters input{width:230px}.companies-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:auto}.companies-table{border-collapse:collapse;table-layout:fixed;width:100%}.companies-table th,.companies-table td{border-bottom:1px solid var(--color-border);text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:.8rem;font-size:.86rem;overflow:hidden}.companies-table th{background:var(--color-primary-100);color:var(--color-primary-800);font-weight:700}.companies-clickable-row{cursor:pointer}.companies-clickable-row:hover{background:var(--color-primary-100)}.companies-actions-cell{white-space:normal}.companies-action-btn{color:var(--color-primary-700);cursor:pointer;background:0 0;border:0;margin-right:.55rem;padding:0;font-size:.8rem;font-weight:600}.companies-action-btn:last-child{margin-right:0}.companies-action-btn:hover{text-decoration:underline}.companies-action-btn--danger{color:#b42318}.companies-sort-button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:700}.companies-pagination{justify-content:space-between;align-items:center;gap:.8rem;margin-top:.8rem;display:flex}.companies-pagination-info{color:var(--color-text-muted);font-size:.84rem}.companies-pagination-controls{align-items:center;gap:.5rem;display:flex}.companies-pagination-controls label{align-items:center;gap:.3rem;font-size:.82rem;display:inline-flex}.companies-pagination-controls select,.companies-pagination-controls button{border:1px solid var(--color-border);border-radius:8px;padding:.35rem .55rem}.companies-pagination-controls button{background:var(--color-surface);cursor:pointer}.companies-pagination-controls button:disabled{cursor:not-allowed;opacity:.6}@media (width<=900px){.companies-toolbar{flex-direction:column;align-items:stretch}.companies-toolbar-actions{justify-content:flex-end}.companies-filters input{width:100%}.companies-page{padding:.25rem .1rem .7rem}.companies-pagination{flex-direction:column;align-items:flex-start}}@media (width<=900px){.company-form-grid.two,.company-form-grid.three{grid-template-columns:1fr}}.public-company-page{justify-content:center;padding:2rem 1rem;display:flex}.public-company-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:760px;padding:1.2rem}.public-company-card h2{margin-top:1rem}.machinery-page{color:var(--color-text);max-width:1120px;margin:0 auto;padding:.75rem .5rem 1.25rem}.machinery-header{margin-bottom:1rem;display:block}.machinery-header h1{margin:0;font-size:1.65rem}.machinery-header p{color:var(--color-text-muted);margin:.45rem 0 1rem}.machinery-toolbar{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.9rem;display:flex}.machinery-toolbar-actions{align-items:center;display:flex}.machinery-new-button{border:1px solid var(--color-primary-500);background:var(--color-primary);height:34px;color:var(--color-text-on-primary);cursor:pointer;border-radius:7px;padding:0 .85rem;font-size:.78rem;font-weight:600}.machinery-filters{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.machinery-filters input,.machinery-filters select{border:1px solid var(--color-border);background:var(--color-surface);height:32px;color:var(--color-text);border-radius:999px;padding:0 .7rem;font-size:.78rem}.machinery-filters input{width:230px}.machinery-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:auto}.machinery-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1050px}.machinery-table th,.machinery-table td{border-bottom:1px solid var(--color-border);text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:.8rem;font-size:.86rem;overflow:hidden}.machinery-table th{background:var(--color-primary-100);color:var(--color-primary-800);font-weight:700}.machinery-category-badge{letter-spacing:.02em;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.machinery-category-badge.electrogeno{color:#3730a3;background:#eef2ff}.machinery-category-badge.electrico{color:#065f46;background:#ecfdf5}.machinery-category-badge.transporte{color:#9a3412;background:#fff7ed}.machinery-category-badge.material{color:#374151;background:#f3f4f6}.machinery-clickable-row{cursor:pointer}.machinery-clickable-row:hover{background:var(--color-primary-100)}.machinery-actions-cell{white-space:normal}.machinery-action-btn{color:var(--color-primary-700);cursor:pointer;background:0 0;border:0;margin-right:.55rem;padding:0;font-size:.8rem;font-weight:600}.machinery-action-btn:last-child{margin-right:0}.machinery-action-btn:hover{text-decoration:underline}.machinery-action-btn--danger{color:#b42318}@media (width<=900px){.machinery-toolbar{flex-direction:column;align-items:stretch}.machinery-toolbar-actions{justify-content:flex-end}.machinery-filters{flex-direction:column;align-items:stretch}.machinery-filters input{width:100%}.machinery-page{padding:.25rem .1rem .7rem}.machinery-pagination{flex-direction:column;align-items:flex-start}}.machinery-sort-button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:700}.machinery-pagination{justify-content:space-between;align-items:center;gap:.8rem;margin-top:.8rem;display:flex}.machinery-pagination-info{color:var(--color-text-muted);font-size:.84rem}.machinery-pagination-controls{align-items:center;gap:.5rem;display:flex}.machinery-pagination-controls label{align-items:center;gap:.3rem;font-size:.82rem;display:inline-flex}.machinery-pagination-controls select,.machinery-pagination-controls button{border:1px solid var(--color-border);border-radius:8px;padding:.35rem .55rem}.machinery-pagination-controls button{background:var(--color-surface);cursor:pointer}.machinery-pagination-controls button:disabled{cursor:not-allowed;opacity:.6}@media (width<=900px){.company-form-grid.two,.company-form-grid.three{grid-template-columns:1fr}}.machinery-form-page{max-width:1000px;margin:0 auto;padding:1rem}.machinery-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.machinery-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.machinery-form-grid label{color:var(--color-text);flex-direction:column;gap:.35rem;font-size:.92rem;display:flex}.machinery-form-grid input,.machinery-form-grid select,.machinery-form-grid textarea{border:1px solid var(--color-border);border-radius:8px;padding:.6rem .7rem}.machinery-form-grid .full{grid-column:1/-1}.machinery-form-actions{justify-content:flex-end;gap:.7rem;display:flex}.machinery-form-actions button{background:var(--color-primary);color:var(--color-text-on-primary);cursor:pointer;border:0;border-radius:8px;padding:.65rem .95rem}.machinery-form-actions button.secondary{background:var(--color-primary-200);color:var(--color-text)}.machinery-form-warning,.machinery-form-error{color:#b54708;margin-top:.6rem}@media (width<=900px){.machinery-form-grid{grid-template-columns:1fr}}.searchable-select{width:100%;position:relative}.searchable-select-trigger{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-height:2.5rem;padding:.55rem .65rem;font-family:inherit;font-size:.95rem;display:flex}.searchable-select-trigger:disabled{cursor:not-allowed;opacity:.65}.searchable-select-trigger-placeholder{color:var(--color-text-muted)}.searchable-select-chevron{opacity:.65;flex-shrink:0}.searchable-select-dropdown{background:var(--color-surface);border:1px solid var(--color-border);z-index:50;border-radius:8px;flex-direction:column;max-height:min(280px,50vh);margin-top:4px;display:flex;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0f172a1f}.searchable-select-filter{background:var(--color-bg);border:0;border-bottom:1px solid var(--color-border);color:var(--color-text);border-radius:8px 8px 0 0;outline:none;flex-shrink:0;padding:.55rem .65rem;font-family:inherit;font-size:.9rem}.searchable-select-filter::placeholder{color:var(--color-text-muted)}.searchable-select-list{max-height:220px;margin:0;padding:.25rem 0;list-style:none;overflow-y:auto}.searchable-select-empty{color:var(--color-text-muted);padding:.65rem .75rem;font-size:.88rem}.searchable-select-option{color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.9rem;display:block}.searchable-select-option:hover,.searchable-select-option:focus-visible{background:var(--color-primary-100);outline:none}.searchable-select-option.is-selected{background:var(--color-primary-100);font-weight:600}.projects-page{color:var(--color-text);max-width:1120px;margin:0 auto;padding:.75rem .5rem 1.25rem}.projects-header{margin-bottom:1rem;display:block}.projects-header h1{margin:0;font-size:1.65rem}.projects-header p{color:var(--color-text-muted);margin:.45rem 0 1rem}.projects-toolbar{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.9rem;display:flex}.projects-toolbar-actions{align-items:center;display:flex}.projects-new-button{border:1px solid var(--color-primary-500);background:var(--color-primary);height:34px;color:var(--color-text-on-primary);cursor:pointer;border-radius:7px;padding:0 .85rem;font-size:.78rem;font-weight:600}.projects-filters{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.projects-filters input,.projects-filters select{border:1px solid var(--color-border);background:var(--color-surface);height:32px;color:var(--color-text);border-radius:999px;padding:0 .7rem;font-size:.78rem}.projects-filters input{width:230px}.projects-filters .searchable-select{flex:200px;min-width:200px;max-width:280px}.projects-filters .searchable-select-trigger{border-radius:999px;min-height:32px;padding:0 .7rem;font-size:.78rem}.projects-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:auto}.projects-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:640px}.projects-table th,.projects-table td{border-bottom:1px solid var(--color-border);text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:.8rem;font-size:.86rem;overflow:hidden}.projects-table th{background:var(--color-primary-100);color:var(--color-primary-800);font-weight:700}.projects-clickable-row{cursor:pointer}.projects-clickable-row:hover{background:var(--color-primary-100)}.projects-sort-button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:700}.projects-pagination{justify-content:space-between;align-items:center;gap:.8rem;margin-top:.8rem;display:flex}.projects-pagination-info{color:var(--color-text-muted);font-size:.84rem}.projects-pagination-controls{align-items:center;gap:.5rem;display:flex}.projects-pagination-controls label{align-items:center;gap:.3rem;font-size:.82rem;display:inline-flex}.projects-pagination-controls select,.projects-pagination-controls button{border:1px solid var(--color-border);border-radius:8px;padding:.35rem .55rem}.projects-pagination-controls select{background:var(--color-surface);color:var(--color-text)}.projects-pagination-controls button{background:var(--color-surface);cursor:pointer}.projects-pagination-controls button:disabled{cursor:not-allowed;opacity:.6}.projects-status-badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.projects-status-badge--confirmado{color:#166534;background:#1665341f;border:1px solid #16653459}.projects-status-badge--opcionado{color:#a16207;background:#b453092e;border:1px solid #b4530973}.projects-planning-cell{text-overflow:clip;white-space:normal}.projects-planning-link{color:var(--color-primary-700);font-weight:600;text-decoration:none}.projects-planning-link:hover{text-decoration:underline}@media (width<=900px){.projects-toolbar{flex-direction:column;align-items:stretch}.projects-toolbar-actions{justify-content:flex-end}.projects-filters input,.projects-filters .searchable-select{width:100%;max-width:none}.projects-page{padding:.25rem .1rem .7rem}.projects-pagination{flex-direction:column;align-items:flex-start}}.marked-month-calendar{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;max-width:320px;padding:.85rem}.marked-month-calendar-nav{justify-content:space-between;align-items:center;margin-bottom:.65rem;display:flex}.marked-month-calendar-nav-btn{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:8px;padding:.25rem .55rem;font-size:1.1rem;line-height:1}.marked-month-calendar-title{text-transform:capitalize;font-size:.95rem;font-weight:600}.marked-month-calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.35rem;display:grid}.marked-month-calendar-weekday{color:var(--color-text-muted);text-align:center;font-size:.72rem;font-weight:600}.marked-month-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.marked-month-calendar-cell{aspect-ratio:1;background:var(--color-bg);box-sizing:border-box;color:var(--color-text);cursor:pointer;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:.15rem;font-size:.85rem;display:flex;position:relative}.marked-month-calendar-cell.pad{pointer-events:none;background:0 0;border:none}.marked-month-calendar-cell.marked{background:var(--color-primary-100);border-color:var(--color-primary-300);color:var(--color-primary-800);font-weight:600}.marked-month-calendar-cell:hover{border-color:var(--color-primary-300)}.marked-month-calendar-cell.marked:hover{border-color:var(--color-primary-500)}.marked-month-calendar-cell.selected{box-shadow:0 0 0 2px var(--color-primary);font-weight:700}.marked-month-calendar-cell.selected.marked{box-shadow:0 0 0 2px var(--color-primary-600)}button.marked-month-calendar-cell{font:inherit}.marked-month-calendar-day-num{line-height:1.1}.marked-month-calendar-badge{background:var(--color-primary);color:var(--color-text-on-primary);text-align:center;border-radius:999px;min-width:1rem;margin-top:.1rem;padding:.12rem .28rem;font-size:.62rem;font-weight:700;line-height:1}.marked-month-calendar-hint{color:var(--color-text-muted);margin:.65rem 0 0;font-size:.78rem}.project-events-page{color:var(--color-text);max-width:960px;margin:0 auto;padding:.75rem .5rem 1.25rem}.project-events-panel-embedded{margin-top:.5rem}.project-events-panel-embedded-header{margin-bottom:1.25rem}.project-events-panel-embedded-title{margin:0;font-size:1.35rem;font-weight:600}.project-events-panel-embedded-desc{color:var(--color-text-muted);margin:.45rem 0 0}.project-events-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.project-events-header h1{margin:0;font-size:1.65rem}.project-events-header p{color:var(--color-text-muted);margin:.45rem 0 0}.project-events-summary{color:var(--color-text-muted);margin:.5rem 0 0;font-size:.88rem}.project-events-page>.project-events-summary{margin:0 0 1.25rem}.project-events-section-title{margin:0 0 .65rem;font-size:1.1rem;font-weight:600}.project-events-calendar-list-row{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.project-events-calendar-wrap{margin-bottom:0}.project-events-day-detail{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;min-height:260px;padding:.85rem 1rem}.project-events-day-detail>.project-events-section-title{margin-top:0}.project-events-selected-day-label{text-transform:capitalize;margin:0 0 .75rem;font-size:.95rem;font-weight:600}.project-events-day-detail-empty{margin:0;font-size:.88rem}@media (width<=840px){.project-events-calendar-list-row{grid-template-columns:1fr}.project-events-day-detail{min-height:0}}.project-events-day-events{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.project-events-day-event-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;padding:.65rem .75rem}.project-events-day-event-card-toolbar{justify-content:flex-end;margin-bottom:.35rem;display:flex}.project-events-day-event-facts{flex-direction:column;gap:.75rem;margin:0;display:flex}.project-events-day-event-fact{margin:0}.project-events-day-event-fact dt{color:var(--color-text-muted);letter-spacing:.02em;text-transform:uppercase;margin:0 0 .25rem;font-size:.72rem;font-weight:700}.project-events-day-event-fact dd{margin:0}.project-events-day-event-fact-dd-type{font-size:.95rem;font-weight:600}.project-events-detail-assignments{margin:0;padding:0;list-style:none}.project-events-detail-assignments li{padding:.35rem 0}.project-events-detail-assignments li+li{border-top:1px solid var(--color-border)}.project-events-detail-primary{font-size:.88rem;font-weight:600;display:block}.project-events-detail-sub{color:var(--color-text-muted);margin-top:.15rem;font-size:.78rem;display:block}.project-events-detail-empty-line{color:var(--color-text-muted);margin:0;font-size:.85rem;font-style:italic}.project-events-edit-link{background:var(--color-primary);border:1px solid var(--color-primary-500);box-sizing:border-box;color:var(--color-text-on-primary);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:.5rem .85rem;font-size:.8rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.project-events-edit-link:hover{filter:brightness(1.06);text-decoration:none}.project-events-edit-link:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}.project-events-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.project-events-to-project{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;height:44px;padding:0 .85rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.project-events-to-project:hover{border-color:var(--color-primary-400);color:var(--color-primary-800)}.project-events-to-project:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}.project-events-new{background:var(--color-primary);border:1px solid var(--color-primary-500);color:var(--color-text-on-primary);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;height:44px;padding:0 .8rem;display:inline-flex}.project-events-new:hover{filter:brightness(1.06)}.project-events-new:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}.project-events-muted{color:var(--color-text-muted)}.project-events-error{color:#b54708}.project-events-summary-table-block{margin-top:1.75rem}.project-events-summary-table-intro{color:var(--color-text-muted);margin:0 0 .85rem;font-size:.85rem}.project-events-summary-table-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:12px;overflow-x:auto}.project-events-summary-table{border-collapse:collapse;width:100%;min-width:100%;font-size:.82rem}.project-events-summary-table th,.project-events-summary-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.45rem .6rem}.project-events-summary-table tr:last-child td{border-bottom:none}.project-events-summary-table th{background:var(--color-bg);font-weight:600}.project-events-summary-table tbody tr:nth-child(2n){background:var(--color-surface)}.project-events-summary-table-date{text-transform:capitalize;white-space:nowrap;font-weight:600}.project-events-summary-table-text{word-break:break-word}.project-events-summary-list{margin:0;padding:0;list-style:none}.project-events-summary-list li{padding:.05rem 0;font-size:.78rem;line-height:1.25}.project-events-summary-role{color:var(--color-text-muted);font-weight:500}@media (width<=900px){.company-form-grid.two,.company-form-grid.three{grid-template-columns:1fr}}.company-form select,.company-form textarea{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;padding:.6rem .7rem;font-family:inherit;font-size:.95rem}.company-form select:disabled{cursor:not-allowed;opacity:.65}.company-form-grid .full{grid-column:1/-1}.company-form-actions button:disabled{cursor:not-allowed;opacity:.55}.project-form-events-embed{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1.5rem}.project-detail-page{color:var(--color-text);max-width:960px;margin:0 auto;padding:.75rem .5rem 1.5rem}.project-detail-back{color:var(--color-primary-700);margin-bottom:.75rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-block}.project-detail-back:hover{text-decoration:underline}.project-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;margin-bottom:1.25rem;display:flex}.project-detail-header h1{min-width:0;margin:0;font-size:1.65rem;font-weight:700}.project-detail-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.project-detail-action{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:10px;justify-content:center;align-items:center;height:40px;padding:0 .85rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.project-detail-action:hover{border-color:var(--color-primary-400);color:var(--color-primary-800)}.project-detail-action--primary{background:var(--color-primary);border-color:var(--color-primary-500);color:var(--color-text-on-primary)}.project-detail-action--primary:hover{filter:brightness(1.05);color:var(--color-text-on-primary)}.project-detail-intro{color:var(--color-text-muted);margin:0 0 1.25rem;font-size:.92rem}.project-detail-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.25rem;padding:1.15rem 1.25rem}.project-detail-dl{grid-template-columns:minmax(0,9rem) minmax(0,1fr);gap:.85rem 1.25rem;margin:0;display:grid}@media (width<=640px){.project-detail-dl{grid-template-columns:1fr}}.project-detail-dl dt{color:var(--color-text-muted);margin:0;font-size:.82rem;font-weight:600}.project-detail-dl dd{min-width:0;margin:0;font-size:.95rem}.project-detail-description{white-space:pre-wrap;line-height:1.45}.project-detail-status{letter-spacing:.02em;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:700;display:inline-block}.project-detail-status--confirmado{color:#166534;background:#1665341f;border:1px solid #16653459}.project-detail-status--opcionado{color:#a16207;background:#b453092e;border:1px solid #b4530973}.project-detail-gaffer-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.project-detail-gaffer-swatch{border:1px solid var(--color-border);border-radius:6px;flex-shrink:0;width:1.35rem;height:1.35rem;box-shadow:inset 0 0 0 1px #00000014}.project-detail-events-wrap{margin-top:.25rem}.project-planning-page{color:var(--color-text);max-width:1120px;margin:0 auto;padding:.75rem .5rem 1.5rem}.project-planning-back{color:var(--color-primary-700);margin-bottom:.75rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-block}.project-planning-back:hover{text-decoration:underline}.project-planning-header{margin-bottom:1.25rem}.project-planning-header h1{margin:0 0 .35rem;font-size:1.55rem;font-weight:700}.project-planning-meta{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.9rem}.project-planning-actions{flex-wrap:wrap;gap:.5rem;display:flex}.project-planning-action{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;justify-content:center;align-items:center;height:38px;padding:0 .85rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.project-planning-action:hover{border-color:var(--color-primary-400);color:var(--color-primary-800)}.project-planning-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1rem;padding:1rem 1.1rem}.project-planning-card h2{margin:0 0 .65rem;font-size:1.05rem;font-weight:600}.project-planning-intro{color:var(--color-text-muted);margin:0 0 .85rem;font-size:.88rem;line-height:1.45}.project-planning-table-wrap{overflow:auto}.project-planning-table{border-collapse:collapse;width:100%;min-width:720px}.project-planning-table th,.project-planning-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.65rem .75rem;font-size:.86rem}.project-planning-table th{background:var(--color-primary-100);color:var(--color-primary-800);white-space:nowrap;font-weight:700}.project-planning-table td{line-height:1.4}.project-planning-table tbody tr:last-child td{border-bottom:0}.project-planning-date{white-space:nowrap;font-weight:600}.project-planning-cell-list{margin:0;padding:0;list-style:none}.project-planning-cell-list li{margin-bottom:.35rem}.project-planning-cell-list li:last-child{margin-bottom:0}.project-planning-role{color:var(--color-text-muted);font-size:.82rem}@media print{.project-planning-back,.project-planning-actions{display:none}.project-planning-page{max-width:none;padding:0}.project-planning-card{border:0;padding:0}}.multi-date-calendar{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;max-width:320px;padding:.85rem}.multi-date-calendar-nav{justify-content:space-between;align-items:center;margin-bottom:.65rem;display:flex}.multi-date-calendar-nav-btn{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:8px;padding:.25rem .55rem;font-size:1.1rem;line-height:1}.multi-date-calendar-title{text-transform:capitalize;font-size:.95rem;font-weight:600}.multi-date-calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.35rem;display:grid}.multi-date-calendar-weekday{color:var(--color-text-muted);text-align:center;font-size:.72rem;font-weight:600}.multi-date-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.multi-date-calendar-cell{aspect-ratio:1;background:var(--color-bg);color:var(--color-text);cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:.85rem;display:flex}.multi-date-calendar-cell.pad{pointer-events:none;background:0 0;border:none}.multi-date-calendar-cell.selected{background:var(--color-primary);border-color:var(--color-primary-500);color:var(--color-text-on-primary);font-weight:700}.multi-date-calendar-cell:hover:not(.pad):not(.selected){border-color:var(--color-primary-300)}.multi-date-calendar-hint{color:var(--color-text-muted);margin:.65rem 0 0;font-size:.78rem}.picker-modal-root{z-index:200;justify-content:center;align-items:flex-start;padding:1.5rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.picker-modal-backdrop{cursor:pointer;background:#0f172a73;border:none;position:fixed;inset:0}.picker-modal-dialog{z-index:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;width:100%;max-width:440px;max-height:min(520px,85vh);display:flex;position:relative;box-shadow:0 16px 48px #0f172a2e}.picker-modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.picker-modal-title{margin:0;font-size:1.05rem;font-weight:600}.picker-modal-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.25rem;display:flex}.picker-modal-close:hover{background:var(--color-primary-100);color:var(--color-text)}.picker-modal-search{border:0;border-bottom:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);outline:none;margin:0;padding:.65rem 1rem;font-size:.9rem}.picker-modal-search::placeholder{color:var(--color-text-muted)}.picker-modal-muted,.picker-modal-error{margin:0;padding:.5rem 1rem 0;font-size:.85rem}.picker-modal-error{color:#b54708}.picker-modal-list{flex:1;min-height:120px;margin:0;padding:.35rem 0;list-style:none;overflow-y:auto}.picker-modal-empty{color:var(--color-text-muted);padding:1rem 1.25rem;font-size:.88rem}.picker-modal-row{border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);cursor:pointer;text-align:left;background:0 0;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.65rem 1rem;font-family:inherit;display:flex}.picker-modal-row:last-child{border-bottom:none}.picker-modal-row:hover{background:var(--color-primary-100)}.picker-modal-row-title{font-size:.9rem;font-weight:600}.picker-modal-row-sub{color:var(--color-text-muted);font-size:.78rem}.day-assignments{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;margin-top:1rem;padding:1rem}.day-assignments-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem .75rem;margin-bottom:.75rem;display:flex}.day-assignments-title{text-transform:capitalize;flex:auto;min-width:0;margin:0;font-size:1.05rem;font-weight:600}.day-assignments-copy-prev{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:8px;flex-shrink:0;padding:.4rem .65rem;font-size:.78rem;font-weight:600}.day-assignments-copy-prev:hover{border-color:var(--color-primary-400)}.day-assignments-muted{color:var(--color-text-muted);margin:0 0 .5rem;font-size:.85rem}.day-assignments-error{color:#b54708;margin:0 0 .5rem;font-size:.85rem}.day-assignments-note-block{margin-bottom:.9rem}.day-assignments-note-label{margin-bottom:.35rem;font-size:.82rem;font-weight:600;display:block}.day-assignments-note-input{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);resize:vertical;border-radius:8px;padding:.55rem .65rem;font-size:.9rem}.day-assignments-columns{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (width<=900px){.day-assignments-columns{grid-template-columns:1fr}}.day-assignments-col-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.day-assignments-col-head h4{margin:0;font-size:.88rem;font-weight:600}.day-assignments-add{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:8px;padding:.35rem .65rem;font-size:.78rem;font-weight:600}.day-assignments-add:hover{border-color:var(--color-primary-400)}.assignment-chip-strip{flex-wrap:wrap;gap:.5rem;min-height:2.5rem;display:flex}.day-assignments-empty{color:var(--color-text-muted);margin:0;padding:.25rem 0;font-size:.82rem}.assignment-chip{background:var(--color-primary-100);border:1px solid var(--color-border);border-radius:10px;align-items:center;gap:.35rem;max-width:100%;padding:.45rem .5rem .45rem .65rem;display:inline-flex}.assignment-chip-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.assignment-chip-title{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;line-height:1.2;overflow:hidden}.assignment-chip-sub{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:.72rem;line-height:1.2;overflow:hidden}.assignment-chip-remove{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;padding:.2rem;display:flex}.assignment-chip-remove:hover{color:#b54708;background:#b9470826}.assignment-chip-user-row{flex-wrap:wrap;align-items:flex-start;max-width:100%}.assignment-chip-type-select{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;flex:140px;min-width:8.5rem;max-width:100%;margin-top:.15rem;padding:.35rem .45rem;font-size:.78rem;font-weight:500}.assignment-chip-role-readonly{color:var(--color-text-muted);margin-top:.15rem;font-size:.72rem;font-weight:500}.company-form-page{max-width:1200px;margin:0 auto;padding:1rem}.company-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.company-form-grid{gap:.8rem;display:grid}.company-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.company-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.company-form label{color:var(--color-text);flex-direction:column;gap:.35rem;font-size:.92rem;display:flex}.company-form input{border:1px solid var(--color-border);border-radius:8px;padding:.6rem .7rem}.company-form-actions{justify-content:flex-end;gap:.7rem;display:flex}.company-form-actions button{background:var(--color-primary);color:var(--color-text-on-primary);cursor:pointer;border:0;border-radius:8px;padding:.65rem .95rem}.company-form-actions button.secondary{background:var(--color-primary-200);color:var(--color-text)}.company-form-warning,.company-form-error{color:#b54708;margin-top:.6rem}@media (width<=900px){.company-form-grid.two,.company-form-grid.three{grid-template-columns:1fr}}.project-event-form .company-form select{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;padding:.6rem .7rem;font-size:.95rem}.project-event-header-nav{flex-wrap:wrap;align-items:center;gap:.85rem 1.25rem;margin-top:.5rem;display:flex}.project-event-back{color:var(--color-primary-700);font-size:.88rem;font-weight:600;text-decoration:none;display:inline-block}.project-event-back:hover{text-decoration:underline}.project-event-nav-button{background:var(--color-primary);box-sizing:border-box;color:var(--color-text-on-primary);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;min-height:2.5rem;padding:.65rem .95rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.project-event-nav-button:hover{color:var(--color-text-on-primary);filter:brightness(1.05);text-decoration:none}.project-event-nav-button:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}.project-event-calendar-block{margin-top:1rem}.project-event-day-toc{margin-top:1.5rem}.project-event-day-toc-intro{color:var(--color-text-muted);margin:0 0 .65rem;font-size:.85rem}.project-event-day-toc-list{margin:0;padding-left:1.25rem}.project-event-day-toc-list li{margin-bottom:.35rem}.project-event-day-toc-link{color:var(--color-primary-700);font-size:.9rem;font-weight:600;text-decoration:none}.project-event-day-toc-link:hover{text-decoration:underline}.project-event-subtitle{margin:0 0 .5rem;font-size:1rem;font-weight:600}.project-event-actions{flex-wrap:wrap}.project-event-actions .project-event-delete{margin-right:auto}
