:root{--bg:#161616;--panel:#232323;--panel2:#2c2c2c;--line:#434343;--text:#f1f1f1;--muted:#b4b4b4;--paper:#dcdcdc;--dark:#1a1a1a;--radius:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #e8e8e8;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.04em;margin-bottom:12px}h2{font-size:21px;line-height:1.3;letter-spacing:-.02em}h3{font-size:17px;line-height:1.3}p{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;margin-bottom:14px;color:#cbcbcb}.muted,.field-hint{font-size:13px;color:var(--muted)}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.button,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--paper);background:var(--paper);color:var(--dark);padding:11px 17px;min-height:44px;border-radius:8px;font-weight:600;text-decoration:none;white-space:normal;line-height:1.4}.button:hover,input[type=submit]:hover{background:#f1f1f1}.button.secondary{background:transparent;border-color:#606060;color:#e3e3e3}.button.secondary:hover{background:#383838}.button.small{padding:7px 12px;min-height:36px;font-size:13px}.text-button{color:#dbdbdb;border:0;background:none;padding:8px 5px;font-size:13px;text-decoration:underline;text-underline-offset:4px}.text-button:hover{color:#ffffff}.danger{color:#b5b5b5}.tag{display:inline-block;padding:4px 9px;border-radius:5px;background:#393939;color:#d9d9d9;font-size:11px;font-weight:600;white-space:nowrap;border:1px solid #515151}.tag.confirmed,.tag.warehouse{background:#363636;border-color:#606060;color:#dfdfdf}.tag.pending,.tag.out{background:#3a3a3a;border-color:#606060;color:#dcdcdc}.tag.cancelled,.tag.incident{background:#333333;border-color:#5a5a5a;color:#cdcdcd}.tag.done,.tag.repair{background:#363636;color:#d4d4d4;border-color:#5d5d5d}.card-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.sidebar{position:fixed;width:235px;inset:0 auto 0 0;background:#121212;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 20px;z-index:10}.brand{display:flex;gap:13px;text-decoration:none;align-items:center;margin:0 10px 48px}.brand b{font-size:44px;font-weight:300;letter-spacing:-5px;line-height:1}.brand span{font-size:14px;letter-spacing:.08em;font-weight:500}.brand small{display:block;font-size:9px;letter-spacing:.16em;color:var(--muted);margin-top:7px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;text-align:left;background:none;color:#bdbdbd;border:1px solid transparent;padding:13px 14px;border-radius:8px;min-height:47px;font-size:14px}.nav-item span{font-size:22px;line-height:1;width:24px;text-align:center}.nav-item:hover{background:#252525;color:#ffffff}.nav-item.active{background:#333333;border-color:#515151;color:#ffffff}.sidebar-foot{margin-top:auto;padding:30px 12px 0;font-size:12px;color:#a3a3a3}.sidebar-foot a{display:inline-block;margin-top:12px;text-decoration:none;color:#d4d4d4}.private-dot{display:inline-block;width:6px;height:6px;background:#c3c3c3;border-radius:50%;margin-right:7px}.workspace{margin-left:235px;min-height:100vh;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 38px;border-bottom:1px solid var(--line);min-height:80px;font-size:11px;letter-spacing:.06em;color:var(--muted);gap:15px}.user-chip{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:0;color:var(--text)}.user-chip>span:first-child{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#393939;color:#ffffff;border-radius:50%;font-weight:700}.content{padding:35px 38px 55px;max-width:1550px;width:100%;margin:auto;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.page-heading p:last-child{margin-bottom:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:24px;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.section-heading h2{margin:0}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:28px}.stat{padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.stat>span{font-size:13px;color:var(--muted);display:block}.stat>strong{font-size:44px;font-weight:500;letter-spacing:-.05em;line-height:1.25;display:block;margin:12px 0}.stat small{color:#b6b6b6;font-size:12px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}.empty{text-align:center;padding:35px 14px}.empty-symbol{font-size:40px;color:#9d9d9d}.empty h3{margin:15px 0 10px}.empty p{font-size:14px;max-width:430px;margin:0 auto 20px}.event-card{display:flex;width:100%;align-items:center;gap:16px;border:0;border-top:1px solid var(--line);padding:18px 0;background:none;color:var(--text);text-align:left}.event-card:hover{background:#2f2f2f}.event-date{min-width:48px;text-align:center;background:#383838;border-radius:8px;padding:7px;color:#e6e6e6}.event-date strong{font-size:23px;line-height:1.2;display:block}.event-date span{font-size:11px}.event-card-body{flex:1;min-width:0}.event-card h3{margin:0 0 7px;overflow-wrap:anywhere}.event-card p{margin:0;font-size:12px}.event-card small{color:#aeaeae;font-size:11px}.event-card>.tag{align-self:flex-start;margin-top:3px}.notice-preview{display:block;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:19px 0;color:var(--text)}.notice-preview h3{margin:10px 0 8px}.notice-preview p{font-size:13px;margin:0}.calendar-toolbar,.month-switch{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.calendar-toolbar{justify-content:space-between;margin-bottom:24px}.month-switch h2{margin:0;text-transform:capitalize;min-width:160px;text-align:center}.icon-button{min-width:39px;padding:8px 10px;min-height:38px;background:transparent;color:var(--text);border-color:var(--line)}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week>span{font-size:12px;color:var(--muted);padding:10px;text-align:right}.calendar-grid{border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-cell{min-height:110px;padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.calendar-cell.outside{background:#1d1d1d}.calendar-cell.today{background:#323232}.calendar-day{display:block;margin:0 0 8px auto;border:0;padding:4px 7px;color:#e3e3e3;background:none;min-width:26px;font-size:12px}.today .calendar-day{background:#e1e1e1;color:#202020;border-radius:50%}.calendar-event{display:block;width:100%;font-size:11px;background:#414141;color:#e7e7e7;border:0;border-left:2px solid #bdbdbd;text-align:left;padding:5px;margin:4px 0;border-radius:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-event.pending{background:#424242;border-color:#aeaeae}.calendar-event.cancelled{background:#343434;border-color:#919191;text-decoration:line-through}.calendar-event.done{opacity:.65}.calendar-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.mobile-agenda{display:none}.notice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.notice-card{margin:0;display:flex;flex-direction:column}.notice-card time{font-size:12px;color:var(--muted);margin-bottom:18px}.notice-card>.prewrap{flex:1}.card-actions,.movement-options{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px}.inventory-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}.inventory-toolbar>div{display:flex;gap:12px;align-items:center}.search-label{width:min(430px,100%)}.search-label>span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{color:#c0c0c0;font-size:11px;text-transform:uppercase;letter-spacing:.07em;padding:15px 12px;border-bottom:1px solid #606060;white-space:nowrap}td{font-size:13px;padding:17px 12px;border-bottom:1px solid var(--line);vertical-align:middle}td strong{font-weight:600}td small{display:block;color:#afafaf;font-size:11px;margin-top:4px}td .tag{margin:3px}code{font-size:12px;white-space:nowrap;color:#cfcfcf}td:last-child{white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:22px;font-size:13px}.portal-footer{padding:20px 38px;border-top:1px solid var(--line);font-size:11px;color:#989898;display:flex;justify-content:space-between;gap:15px}.scan-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px}.scan-stage{min-height:280px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px;border:1px dashed #676767;border-radius:10px;background:#1b1b1b}.scan-symbol{font-size:64px;color:#bababa;line-height:1.4}.scan-stage h2{margin-top:15px}.scan-stage p{font-size:14px;max-width:360px;margin-bottom:0}.scan-stage video{width:100%;max-height:350px;object-fit:cover;border-radius:8px;margin-top:18px}.scan-controls{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.manual-code{border-top:1px solid var(--line);padding-top:23px;display:flex;align-items:end;gap:12px}.manual-code label{flex:1}.manual-code input{text-transform:uppercase}.scan-steps{padding:0;list-style:none;counter-reset:step}.scan-steps li{counter-increment:step;position:relative;padding:5px 0 24px 44px}.scan-steps li:before{content:counter(step);position:absolute;left:0;top:0;padding:4px 10px;background:#3a3a3a;border:1px solid #646464;border-radius:50%;color:#dadada}.scan-steps span{display:block;font-size:13px;color:var(--muted);margin-top:8px}.scan-steps b{font-weight:600}.toast{position:fixed;bottom:24px;right:24px;max-width:480px;background:#e3e3e3;color:#232323;border:1px solid #c2c2c2;border-radius:9px;padding:17px 22px;font-size:14px;z-index:100;box-shadow:0 10px 40px #00000055;opacity:0;pointer-events:none;transform:translateY(15px);transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translateY(0)}.toast.error{background:#d9d9d9;color:#292929;border-color:#aaaaaa}dialog{background:#252525;color:var(--text);border:1px solid #636363;border-radius:16px;padding:0;max-width:760px;width:calc(100% - 36px);max-height:calc(100svh - 48px);overflow:auto;box-shadow:0 24px 100px #00000099}dialog::backdrop{background:#070707b8}.dialog-heading{padding:23px 25px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#252525;z-index:1}.dialog-heading h2{margin:0;font-size:23px}.close-button{border:0;color:#e3e3e3;background:transparent;font-size:30px;line-height:1;padding:3px 8px}.edit-form,.detail-body{padding:25px}.edit-form label,.manual-code label{display:block;font-size:13px;color:#dbdbdb}.edit-form>label{margin-bottom:18px}input:not([type=checkbox]):not([type=submit]),select,textarea{width:100%;border:1px solid #626262;border-radius:7px;background:#1a1a1a;color:#f0f0f0;padding:11px 13px;min-height:44px;margin-top:7px;color-scheme:dark}textarea{resize:vertical;min-height:100px}input::placeholder{color:#999999}fieldset{border:1px solid var(--line);border-radius:8px;margin:20px 0;padding:16px}legend{font-size:13px;padding:0 7px;color:#d5d5d5}.assign-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.check-label{display:flex!important;gap:9px;align-items:center;color:#cccccc;font-size:13px!important;cursor:pointer}.check-label input{width:16px;height:16px;margin:0;accent-color:#c4c4c4}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.form-error{color:#c1c1c1;font-size:14px;margin:10px 0}.detail-list{display:grid;grid-template-columns:125px minmax(0,1fr);gap:12px;font-size:14px;margin:20px 0}.detail-list dt{color:#b9b9b9}.detail-list dd{margin:0;overflow-wrap:anywhere}.asset-details{display:grid;grid-template-columns:180px 1fr;gap:25px}.qr-card{padding:12px;background:#ececec;color:#1d1d1d;border-radius:10px;text-align:center;align-self:start}.qr-card svg{display:block;width:100%;height:auto}.qr-card code{color:#1d1d1d;font-size:14px;display:block}.qr-card .text-button{color:#454545;margin-top:10px}.login-shell{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:radial-gradient(ellipse at top,#353535,#161616 65%)}.login-card{width:100%;max-width:460px;background:#252525;border:1px solid #555555;padding:35px;border-radius:18px;box-shadow:0 20px 100px #00000055}.login-logo{display:block;max-width:180px;height:auto;margin-bottom:32px}.login-card h1{font-size:34px;margin-bottom:18px}.login-card>p{font-size:14px}.login-card form p{margin:18px 0}.login-card label{font-size:13px;color:#e0e0e0}.login-card input[type=submit]{width:100%;margin:0}.login-remember label{display:flex;align-items:center;gap:8px}.login-remember input{accent-color:#d2d2d2}.login-card>a{font-size:13px;color:#d4d4d4;text-underline-offset:3px}.login-foot{border-top:1px solid var(--line);margin-top:25px;padding-top:22px;font-size:12px;color:#b6b6b6}.login-foot a{display:inline-block;margin-top:12px}.notice-error{background:#363636;padding:15px;margin:20px 0;color:#dddddd;border-radius:7px}.loading{padding:80px;text-align:center;color:#cecece}.workspace input[type=search]::-webkit-search-cancel-button{cursor:pointer}
@media(max-width:1150px){.sidebar{width:200px;padding:25px 14px}.workspace{margin-left:200px}.content{padding:30px 24px}.topbar{padding:18px 24px}.dashboard-grid{grid-template-columns:1fr}.scan-layout{grid-template-columns:1fr}.calendar-cell{min-height:90px;padding:4px}.calendar-event{font-size:10px}}
@media(max-width:800px){.sidebar{position:sticky;top:0;inset:auto;width:100%;padding:12px 16px;border-right:0;border-bottom:1px solid var(--line);gap:12px}.brand{margin:0;gap:12px}.brand b{font-size:28px}.brand span{font-size:11px}.brand small{display:inline;font-size:8px;margin-left:10px}.sidebar nav{flex-direction:row;overflow:auto;gap:6px}.nav-item{flex:0 0 auto;padding:9px 12px;min-height:39px;font-size:12px;gap:7px}.nav-item span{font-size:17px;width:18px}.sidebar-foot{display:none}.workspace{margin:0}.topbar{padding:14px 20px;min-height:55px}.topbar>span{display:none}.user-chip{justify-content:space-between;width:100%}.user-chip .tag{margin-left:auto}.content{padding:25px 20px}.page-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:26px}.page-heading .eyebrow{font-size:10px}.page-heading h1{font-size:30px}.page-heading p:last-child{font-size:14px}.stats-grid{gap:10px}.stat{padding:16px 13px}.stat>strong{font-size:33px}.stat>span{font-size:11px}.stat small{font-size:10px}.panel{padding:20px}.notice-grid{grid-template-columns:1fr}.inventory-toolbar{align-items:stretch;flex-direction:column}.inventory-toolbar>div{justify-content:space-between}.search-label{width:100%}.calendar-panel{padding:14px}.calendar-toolbar{gap:17px}.month-switch{gap:8px}.month-switch h2{font-size:17px;min-width:130px}.calendar-cell{min-height:67px}.calendar-event{font-size:9px;padding:4px 2px}.calendar-week>span{font-size:11px;padding:7px}.calendar-day{font-size:11px;margin-bottom:4px}.calendar-legend{gap:5px}.mobile-agenda{display:block}.event-card{gap:11px}.event-card>.tag{display:none}.section-heading h2{font-size:19px}.scan-stage{min-height:200px;padding:18px}.manual-code{align-items:stretch;flex-direction:column}.form-grid,.assign-grid{grid-template-columns:1fr}.asset-details{grid-template-columns:1fr}.qr-card{width:175px;margin:0 auto}.detail-list{grid-template-columns:100px minmax(0,1fr);gap:10px;font-size:13px}.portal-footer{padding:20px;font-size:10px;flex-direction:column;gap:4px}.toast{bottom:15px;left:15px;right:15px;max-width:none}.login-card{padding:28px}.dialog-heading,.edit-form,.detail-body{padding:20px}.movement-options>.button{flex:1 0 140px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.profile-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px}.profile-identity{display:flex;gap:22px;align-items:center;margin-bottom:32px}.profile-avatar{width:88px;height:88px;flex:none;border:1px solid #585858;border-radius:24px;display:grid;place-items:center;background:#343434;color:#f4f4f4;font-size:30px;letter-spacing:2px}.profile-identity h2{font-size:24px;margin:4px 0 14px;overflow-wrap:anywhere}.profile-list{padding:22px 0;border-top:1px solid #3d3d3d;border-bottom:1px solid #3d3d3d;margin-bottom:26px}.profile-note{border-top:1px solid #3d3d3d;margin-top:28px;padding-top:22px}@media(max-width:1000px){.profile-layout{grid-template-columns:1fr}}@media(max-width:560px){.profile-identity{align-items:flex-start;gap:14px}.profile-avatar{width:62px;height:62px;font-size:23px;border-radius:18px}.profile-identity h2{font-size:21px}}

.calendar-cell[data-calendar-day]{cursor:pointer}.calendar-cell[data-calendar-day]:hover{background:#313131}.calendar-cell[data-calendar-day].today:hover{background:#3e3e3e}
/* Clear, high-contrast calendar states. */
.tag.pending,.calendar-event.pending{background:#b8b8b8;color:#1b1b1b;border-color:#d9d9d9}
.tag.confirmed,.calendar-event.confirmed{background:#6a6a6a;color:#ffffff;border-color:#b8b8b8}
.tag.done,.calendar-event.done{background:#6e6e6e;color:#ffffff;border-color:#b9b9b9;opacity:1}
.tag.cancelled,.calendar-event.cancelled{background:#4e4e4e;color:#ffffff;border-color:#a3a3a3}
.calendar-event{border-left-width:4px;font-weight:600}.calendar-event:hover{filter:brightness(1.12)}
.stats-grid.staff-stats{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:560px){.stats-grid.staff-stats{grid-template-columns:1fr}}

.company-panel{margin-bottom:24px;background:#333333}.company-data{display:grid;grid-template-columns:1.4fr .6fr;gap:20px;margin:22px 0}.company-data>div:last-child{grid-column:1/-1}.company-data dt{color:var(--muted);font-size:12px;margin-bottom:6px}.company-data dd{margin:0;font-weight:600;overflow-wrap:anywhere}.company-panel .section-heading{flex-wrap:wrap;gap:14px}.quality-note{background:#393939;border-left:3px solid #c4c4c4;padding:16px 20px;line-height:1.6;margin:0 0 24px;color:#f1f1f1}.expense-notes{max-width:300px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:var(--muted);margin:8px 0}.expense-pagination{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-top:20px}.expense-pagination>div{display:flex;gap:10px}.expense-company-intro{padding:24px 24px 0}.expense-company-intro .panel{margin:0;padding:20px}.expense-company-intro h2{font-size:21px}.expense-photo-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.expense-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.expense-photos article{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);padding:12px;border-radius:12px;background:var(--panel2)}.expense-photos img{width:100%;height:200px;object-fit:contain;background:#f4f4f4}.expense-photos small{overflow-wrap:anywhere;color:var(--muted)}.expense-photos .text-button{align-self:flex-start}.expense-photo-inputs input{font-size:12px}.expense-photo-inputs input::file-selector-button{border:0;border-radius:6px;padding:8px;background:#dfdfdf;color:#191919;cursor:pointer;margin-right:8px}
@media(max-width:560px){.company-data,.expense-photo-inputs,.expense-photos{grid-template-columns:1fr}.company-data>div:last-child{grid-column:auto}.expense-company-intro{padding:20px 20px 0}.expense-pagination{align-items:flex-start;flex-direction:column}}

.nav-item svg{display:block;width:23px;height:23px}.brand{flex-direction:column;align-items:flex-start;gap:12px;margin:0 0 30px}.brand img{display:block;width:180px;height:65px;object-fit:contain}.brand>small{font-size:10px;letter-spacing:.15em;color:var(--muted)}.chat-messages{height:clamp(180px,35vh,360px);overflow:auto;display:flex;flex-direction:column;gap:12px;margin-bottom:20px;overscroll-behavior:contain}.chat-message{background:var(--panel2);padding:12px 16px;border-radius:10px;max-width:90%;align-self:flex-start;min-width:180px}.chat-message.mine{align-self:flex-end;border:1px solid #6f6f6f;background:#383838}.chat-message>div{display:flex;gap:20px;justify-content:space-between}.chat-message small{color:var(--muted);font-size:11px}.chat-message p{color:var(--text);margin:8px 0 0}.rider-list>div{padding:12px 0;border-bottom:1px solid var(--line)}

@media(max-width:800px){.brand{flex-direction:row;align-items:center;margin:0;gap:14px}.brand img{width:125px;height:44px}.brand>small{font-size:8px;margin:0;letter-spacing:.1em}.nav-item svg{width:18px;height:18px}.chat-message{max-width:96%}.chat-message>div{gap:12px;flex-wrap:wrap}}

/* Despeses: targeta de facturació i contacte */
.invoice-company{background:linear-gradient(135deg,#242424,#181818);border:1px solid #424242;border-radius:18px;padding:28px;box-shadow:0 12px 32px #00000018}
.invoice-company .company-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.invoice-company .eyebrow{color:#b7b7b7;letter-spacing:.15em;font-size:10px;margin:0 0 10px}
.invoice-company h2{color:#ffffff;font-size:clamp(21px,2.2vw,29px);line-height:1.25;letter-spacing:-.025em;margin:0}
.invoice-company .company-purpose{font-size:13px;color:#bdbdbd;margin:10px 0 0;line-height:1.5}
.invoice-company .company-nif{display:flex;flex-direction:column;gap:6px;flex-shrink:0;border:1px solid #565656;background:#ffffff08;border-radius:10px;padding:12px 18px}
.invoice-company .company-nif small{font-size:10px;letter-spacing:.15em;color:#b7b7b7}
.invoice-company .company-nif strong{font-size:18px;color:#ffffff;letter-spacing:.035em}
.invoice-company .company-data{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:0;padding:24px 0;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18}
.invoice-company .company-data>div:last-child{grid-column:auto}
.invoice-company .company-data dt{font-size:10px;color:#a9a9a9;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}
.invoice-company .company-data dd{font-size:14px;line-height:1.8;font-weight:500;color:#eeeeee;margin:0;overflow-wrap:anywhere}
.invoice-company .company-contact dd{display:flex;flex-direction:column;gap:12px}
.invoice-company .company-contact a{display:block;color:#eeeeee;text-decoration:none;line-height:1.6;overflow-wrap:anywhere}
.invoice-company .company-contact a span{display:block;color:#999999;font-size:11px}
.invoice-company .company-contact a:hover{color:#ffffff;text-decoration:underline;text-underline-offset:4px}
.invoice-company .company-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:20px}
.invoice-company .company-footer>div{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.invoice-company .company-footer small{font-size:11px;color:#999999}
.invoice-company .company-footer .button{border:1px solid #656565;background:#353535;color:#ffffff;padding:10px 16px;border-radius:8px}
.invoice-company .company-footer .button:hover{background:#454545;border-color:#999999}
.invoice-company .company-footer .text-button{color:#c2c2c2;font-size:12px}
.expense-company-intro .invoice-company{padding:22px;border-radius:14px}
.expense-company-intro .invoice-company .company-heading{gap:16px;margin-bottom:18px}
.expense-company-intro .invoice-company h2{font-size:21px}
@media(max-width:640px){.invoice-company{padding:20px;border-radius:14px}.invoice-company .company-heading{flex-direction:column;gap:16px}.invoice-company .company-nif{flex-direction:row;align-items:center;gap:12px;padding:8px 12px}.invoice-company .company-nif strong{font-size:16px}.invoice-company .company-data{grid-template-columns:1fr;gap:22px;padding:20px 0}.invoice-company .company-footer{align-items:flex-start;flex-direction:column}.expense-company-intro .invoice-company{padding:18px}.invoice-company .company-footer .button{min-height:44px}}

/* Photos, history and owner tools */
.sidebar{overflow-y:auto}.sidebar nav{gap:5px}.nav-item{min-height:42px;padding:10px 12px}.sidebar-foot{padding-top:20px}.back-website{font-weight:600}.inventory-photo{width:64px;height:52px;object-fit:contain;background:#eee;border:1px solid #777;border-radius:5px;float:left;margin-right:12px}.asset-photo-preview,.asset-detail-photo{display:block;width:100%;max-height:220px;object-fit:contain;background:#eee;border-radius:8px;margin:16px 0}.asset-detail-photo{margin:0 0 12px}.qr-select-list{max-height:50vh;overflow:auto;padding:16px 0}.qr-select-list label{padding:8px 0;border-bottom:1px solid #444}.asset-history-row{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid #444}.asset-history-row p{font-size:12px;margin:6px 0}.site-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.site-edit-card{border:1px solid #555;border-radius:10px;overflow:hidden;background:#242424}.site-edit-card img{width:100%;height:180px;object-fit:contain;background:#eee}.site-edit-card h3,.site-edit-card small,.site-edit-card>div{display:block;margin:16px}.site-edit-card.is-removed{opacity:.55}.site-edit-card>div{display:flex;gap:10px;flex-wrap:wrap}.order-card{border-bottom:1px solid #555;padding:24px 0}.order-card p,.order-card li{font-size:13px}.tag.confirmed,.calendar-event.confirmed{background:#e3e3e3;color:#111;border-color:#fff}.tag.pending,.calendar-event.pending{background:#555;color:#fff;border-color:#999}.tag.cancelled,.calendar-event.cancelled{background:#222;color:#ccc;border-color:#666;text-decoration:line-through}.tag.warehouse{background:#ddd;color:#111;border-color:#fff}.tag.out{background:#555;color:#fff;border-color:#999}.tag.incident{background:#111;color:#fff;border:1px dashed #ccc}.tag.repair{background:#777;color:#fff;border-color:#bbb}.form-error{color:#fff;padding:0;font-weight:600}.form-error:not(:empty){padding:12px;border:1px solid #aaa;background:#333;border-radius:6px}.topbar .back-website{color:#eee;white-space:nowrap;text-decoration:none;margin-right:18px;font-size:12px;letter-spacing:0}
@media(max-width:1000px){.site-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.sidebar{overflow:visible}.topbar>span{display:block}.topbar>span .topbar-label{display:none}.topbar .back-website{font-size:11px}.user-chip{justify-content:flex-end;width:auto;flex:1}}@media(max-width:560px){.site-edit-grid{grid-template-columns:1fr}.site-edit-card img{height:210px}}

/* Paleta original de l’àrea privada. */
body.atp-portal{--bg:#141618;--panel:#202326;--panel2:#292d30;--line:#3f4448;--text:#f0f1ef;--muted:#aeb5b9;--paper:#d9ddda;--dark:#171b19;--radius:14px}
body.atp-portal body{background:var(--bg);color:var(--text)}
body.atp-portal button:focus-visible,body.atp-portal a:focus-visible,body.atp-portal input:focus-visible,body.atp-portal select:focus-visible,body.atp-portal textarea:focus-visible{outline:2px solid #e6e9e6}
body.atp-portal p{color:var(--muted)}
body.atp-portal .eyebrow{color:#c6ccca}
body.atp-portal .muted,body.atp-portal .field-hint{color:var(--muted)}
body.atp-portal .button,body.atp-portal input[type=submit]{border:1px solid var(--paper);background:var(--paper);color:var(--dark)}
body.atp-portal .button:hover,body.atp-portal input[type=submit]:hover{background:#f0f2ef}
body.atp-portal .button.secondary{border-color:#596166;color:#e0e4e1}
body.atp-portal .button.secondary:hover{background:#33393c}
body.atp-portal .text-button{color:#d6ddd8}
body.atp-portal .text-button:hover{color:#fff}
body.atp-portal .danger{color:#e0a9a9}
body.atp-portal .tag{background:#343a3d;color:#d5dad7;border:1px solid #4b5355}
body.atp-portal .tag.confirmed,body.atp-portal .tag.warehouse{background:#293b31;border-color:#4d6656;color:#d0e4d5}
body.atp-portal .tag.pending,body.atp-portal .tag.out{background:#403a2b;border-color:#6b6044;color:#e5dcc6}
body.atp-portal .tag.cancelled,body.atp-portal .tag.incident{background:#432e31;border-color:#765254;color:#e9c5c8}
body.atp-portal .tag.done,body.atp-portal .tag.repair{background:#303740;color:#ccd5df;border-color:#505f6f}
body.atp-portal .sidebar{background:#101214}
body.atp-portal .brand small{color:var(--muted)}
body.atp-portal .nav-item{color:#b6bec2}
body.atp-portal .nav-item:hover{background:#212629;color:#fff}
body.atp-portal .nav-item.active{background:#2e3435;border-color:#4a5353;color:#fff}
body.atp-portal .sidebar-foot{color:#9aa5a9}
body.atp-portal .sidebar-foot a{color:#d0d5d2}
body.atp-portal .private-dot{background:#b5c8bb}
body.atp-portal .topbar{color:var(--muted)}
body.atp-portal .user-chip{color:var(--text)}
body.atp-portal .user-chip>span:first-child{background:#343b3a;color:#fff}
body.atp-portal .panel{background:var(--panel);border:1px solid var(--line)}
body.atp-portal .stat{background:var(--panel);border:1px solid var(--line)}
body.atp-portal .stat>span{color:var(--muted)}
body.atp-portal .stat small{color:#aeb9b1}
body.atp-portal .empty-symbol{color:#93a09a}
body.atp-portal .event-card{border-top:1px solid var(--line);color:var(--text)}
body.atp-portal .event-card:hover{background:#2b3031}
body.atp-portal .event-date{background:#333a38;color:#e2e8e2}
body.atp-portal .event-card small{color:#a6b1ac}
body.atp-portal .notice-preview{border-top:1px solid var(--line);color:var(--text)}
body.atp-portal .icon-button{color:var(--text);border-color:var(--line)}
body.atp-portal .calendar-week>span{color:var(--muted)}
body.atp-portal .calendar-grid{border-top:1px solid var(--line);border-left:1px solid var(--line)}
body.atp-portal .calendar-cell.outside{background:#1a1d1f}
body.atp-portal .calendar-cell.today{background:#2b3430}
body.atp-portal .calendar-day{color:#dfe5e1}
body.atp-portal .today .calendar-day{background:#dbe3dc;color:#16231a}
body.atp-portal .calendar-event{background:#394438;color:#e2eadc;border-left:2px solid #b7c1ad}
body.atp-portal .calendar-event.pending{background:#49422c;border-color:#bcaf7a}
body.atp-portal .calendar-event.cancelled{background:#472e32;border-color:#bd858d}
body.atp-portal .notice-card time{color:var(--muted)}
body.atp-portal .search-label>span{color:var(--muted)}
body.atp-portal th{color:#b9c2bd}
body.atp-portal td small{color:#a7b2ae}
body.atp-portal code{color:#c8d1ca}
body.atp-portal .portal-footer{border-top:1px solid var(--line);color:#8e9b96}
body.atp-portal .scan-stage{border:1px dashed #5c6b62;background:#171c19}
body.atp-portal .scan-symbol{color:#b0beb3}
body.atp-portal .manual-code{border-top:1px solid var(--line)}
body.atp-portal .scan-steps li:before{background:#333c35;border:1px solid #5a685d;color:#d1ddd3}
body.atp-portal .scan-steps span{color:var(--muted)}
body.atp-portal .toast{background:#dce6dc;color:#19271d;border:1px solid #b5c7b9;box-shadow:0 10px 40px #0005}
body.atp-portal .toast.error{background:#ead5d5;color:#4c2020;border-color:#c5a3a3}
body.atp-portal dialog{background:#202629;color:var(--text);border:1px solid #5a6563;box-shadow:0 24px 100px #0009}
body.atp-portal dialog::backdrop{background:#050708b8}
body.atp-portal .dialog-heading{background:#202629}
body.atp-portal .close-button{color:#dfe4df}
body.atp-portal .edit-form label,body.atp-portal .manual-code label{color:#d5ddd7}
body.atp-portal input:not([type=checkbox]):not([type=submit]),body.atp-portal select,body.atp-portal textarea{border:1px solid #58655d;background:#151c18;color:#edf1ec}
body.atp-portal input::placeholder{color:#8f9d95}
body.atp-portal fieldset{border:1px solid var(--line)}
body.atp-portal legend{color:#cbd8ce}
body.atp-portal .check-label{color:#c2cfc6}
body.atp-portal .check-label input{accent-color:#b6c9b9}
body.atp-portal .form-actions{border-top:1px solid var(--line)}
body.atp-portal .form-error{color:#f0b4b4}
body.atp-portal .detail-list dt{color:#aebdb4}
body.atp-portal .qr-card{background:#e9ede8;color:#15201a}
body.atp-portal .qr-card code{color:#15201a}
body.atp-portal .qr-card .text-button{color:#344b39}
body.atp-portal .login-shell{background:radial-gradient(ellipse at top,#303733,#141618 65%)}
body.atp-portal .login-card{background:#202629;border:1px solid #4c5851;box-shadow:0 20px 100px #0005}
body.atp-portal .login-card label{color:#d8e3da}
body.atp-portal .login-remember input{accent-color:#c7d6cb}
body.atp-portal .login-card>a{color:#c9d8cd}
body.atp-portal .login-foot{border-top:1px solid var(--line);color:#abbab0}
body.atp-portal .notice-error{background:#4b3030;color:#f5d6d6}
body.atp-portal .loading{color:#c5d1c8}
body.atp-portal .profile-avatar{border:1px solid #52595a;background:#303536;color:#f3f4f2}
body.atp-portal .profile-list{border-top:1px solid #383e40}
body.atp-portal .profile-note{border-top:1px solid #383e40}
body.atp-portal .calendar-cell[data-calendar-day]:hover{background:#2d3235}
body.atp-portal .calendar-cell[data-calendar-day].today:hover{background:#35413b}
body.atp-portal .tag.pending,body.atp-portal .calendar-event.pending{background:#efb629;color:#201b0c;border-color:#ffd872}
body.atp-portal .tag.confirmed,body.atp-portal .calendar-event.confirmed{background:#238249;color:#fff;border-color:#62d68b}
body.atp-portal .tag.done,body.atp-portal .calendar-event.done{background:#657076;color:#fff;border-color:#aebcc2}
body.atp-portal .tag.cancelled,body.atp-portal .calendar-event.cancelled{background:#b83040;color:#fff;border-color:#ff8992}
body.atp-portal .company-panel{background:#303437}
body.atp-portal .company-data dt{color:var(--muted)}
body.atp-portal .quality-note{background:#343a3e;border-left:3px solid #bcc6ca;color:#eff2f3}
body.atp-portal .expense-notes{color:var(--muted)}
body.atp-portal .expense-photos article{border:1px solid var(--line);background:var(--panel2)}
body.atp-portal .expense-photos img{background:#f4f4f4}
body.atp-portal .expense-photos small{color:var(--muted)}
body.atp-portal .expense-photo-inputs input::file-selector-button{background:#dae0e3;color:#171a1b}
body.atp-portal .brand>small{color:var(--muted)}
body.atp-portal .chat-message{background:var(--panel2)}
body.atp-portal .chat-message.mine{border:1px solid #65736a;background:#303b34}
body.atp-portal .chat-message small{color:var(--muted)}
body.atp-portal .chat-message p{color:var(--text)}

/* Keep the original portal palette with readable control contrast. */
body.atp-portal .button,body.atp-portal input[type="submit"]{background:var(--paper);color:var(--dark)}
body.atp-portal .button:hover,body.atp-portal input[type="submit"]:hover{background:#f0f2ef;color:var(--dark)}
body.atp-portal .button.secondary{background:transparent;color:#e0e4e1;border-color:#596166}
body.atp-portal .button.secondary:hover{background:#33393c;color:#fff}
body.atp-portal .icon-button{background:transparent;color:var(--text)}
body.atp-portal .icon-button:hover{background:var(--panel2);color:var(--text)}
body.atp-portal .button :is(span,small,strong,b){color:inherit}
body.atp-portal .qr-card :is(p,small,code,span,a,strong,b,label){color:#15201a}
body.atp-portal .qr-card .text-button{color:#344b39}
body.atp-portal .toast :is(p,small,span,strong,b){color:inherit}
body.atp-portal select option{background:#151c18;color:#edf1ec}

/* Public navigation in the workers area: match the main website. */
body.atp-portal{padding-top:109px}
body.atp-portal .atp-site-header{height:109px;border-bottom:0;background:#111315}
body.atp-portal .atp-site-header-inner{max-width:none;padding:22px max(6vw,calc((100vw - 1440px)/2));gap:32px}
body.atp-portal .atp-site-logo{flex:0 0 180px}
body.atp-portal .atp-site-logo img{width:166px;height:65px;object-fit:contain}
body.atp-portal .atp-site-desktop{flex:1;min-width:0}
body.atp-portal .atp-site-links{justify-content:flex-end;gap:0}
body.atp-portal .atp-site-desktop .atp-site-links>li>a{position:relative;display:flex;align-items:center;font:700 12px/20px Arial;letter-spacing:1.2px;padding:16px 18px;margin:0 12px;border:0;border-radius:0;background:transparent;box-shadow:none}
body.atp-portal .atp-site-desktop .atp-site-links>li:first-child>a{margin-left:0}
body.atp-portal .atp-site-desktop .atp-site-links>li:last-child>a{margin-left:18px;margin-right:0}
body.atp-portal .atp-site-desktop .atp-site-links>.menu-item-has-children>a:before{content:'';order:1;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #fff;margin-left:10px}
body.atp-portal .atp-site-links>li>a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:#fff;opacity:0}
body.atp-portal .atp-site-links>li>a:hover:after,body.atp-portal .atp-site-links>li>a:focus-visible:after,body.atp-portal .atp-site-links>.current-menu-item>a:after{opacity:1}
body.atp-portal .atp-site-links .sub-menu{background:#202328;border:1px solid #54575c}
body.atp-portal .sidebar{top:109px}
body.atp-portal .workspace,body.atp-portal .login-shell{min-height:calc(100svh - 109px)}
@media(max-width:1024px){body.atp-portal{padding-top:80px}body.atp-portal .atp-site-header{height:80px}body.atp-portal .atp-site-header-inner{padding:0 24px}body.atp-portal .atp-site-logo{flex-basis:135px}body.atp-portal .atp-site-logo img{width:135px;height:auto}body.atp-portal .atp-site-desktop{display:none}body.atp-portal .atp-site-mobile{display:block}body.atp-portal .atp-site-mobile[open] .atp-site-links{top:80px;align-items:stretch}body.atp-portal .atp-site-mobile .atp-site-links>li>a{position:relative;display:block;padding:13px 0;font:700 12px/20px Arial;letter-spacing:1.2px;border:0}body.atp-portal .sidebar{top:80px}body.atp-portal .workspace,body.atp-portal .login-shell{min-height:calc(100svh - 80px)}}

/* Larger, light-grey event workspace. */
body.atp-portal #atp-dialog:has(form[data-save="events"]){--panel:#e4e6e8;--panel2:#f0f1f2;--line:#b5bbc1;--text:#1e252c;--muted:#505a64;--paper:#303943;--dark:#fff;--accent:#303943;width:calc(100vw - 48px);max-width:1160px;height:calc(100svh - 48px);max-height:calc(100svh - 48px);background:var(--panel);color:var(--text);border-color:#b5bbc1;overflow:hidden}
body.atp-portal #atp-dialog[open]:has(form[data-save="events"]){display:flex;flex-direction:column}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .dialog-heading{flex-shrink:0;position:static;background:#d8dce0;padding:22px 36px;border-color:var(--line)}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .dialog-heading h2{font-size:27px;color:#1e252c}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .close-button{color:#303943}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .edit-form{flex:1;min-height:0;overflow:auto;padding:24px 36px 28px;font-size:16px}
body.atp-portal #atp-dialog:has(form[data-save="events"]) label,body.atp-portal #atp-dialog:has(form[data-save="events"]) legend{color:#252d35;font-size:15px}
body.atp-portal #atp-dialog:has(form[data-save="events"]) input:not([type=checkbox]),body.atp-portal #atp-dialog:has(form[data-save="events"]) select,body.atp-portal #atp-dialog:has(form[data-save="events"]) textarea{background:#f7f8f9;color:#1e252c;border-color:#a3abb3;color-scheme:light;padding:13px 15px;font-size:16px;min-height:49px}
body.atp-portal #atp-dialog:has(form[data-save="events"]) input::placeholder,body.atp-portal #atp-dialog:has(form[data-save="events"]) textarea::placeholder{color:#68737d;opacity:1}
body.atp-portal #atp-dialog:has(form[data-save="events"]) input[type=checkbox]{accent-color:#303943}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .route-tabs{background:var(--panel);margin-bottom:18px;gap:10px}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .route-tabs button{color:#303943;background:#f0f1f2;font-size:15px;padding:15px 12px;border-color:#a3abb3}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .route-tabs button[aria-selected=true]{background:#303943;color:#fff;border-color:#303943}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .event-extra,body.atp-portal #atp-dialog:has(form[data-save="events"]) fieldset,body.atp-portal #atp-dialog:has(form[data-save="events"]) .route-pdf-note{background:#edf0f2;border-color:#b5bbc1}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .event-extra>summary{font-size:15px;color:#303943}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .event-extra>summary:hover{background:#d8dde2}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .button{background:#303943;color:#fff;border-color:#303943}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .button:hover{background:#202932}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .button.secondary{background:#f0f1f2;color:#303943;border-color:#a3abb3}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .button.secondary:hover{background:#d3d9df}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .text-button{color:#303943}
body.atp-portal #atp-dialog:has(form[data-save="events"]) .form-actions{background:var(--panel);bottom:0;padding:18px 0 0;margin-top:24px}
body.atp-portal #atp-dialog:has(form[data-save="events"]) :focus-visible{outline:2px solid #303943;outline-offset:3px}
@media(max-width:600px){body.atp-portal #atp-dialog:has(form[data-save="events"]){width:calc(100vw - 16px);height:calc(100svh - 16px);max-height:calc(100svh - 16px)}body.atp-portal #atp-dialog:has(form[data-save="events"]) .dialog-heading{padding:16px 20px}body.atp-portal #atp-dialog:has(form[data-save="events"]) .edit-form{padding:16px 20px}body.atp-portal #atp-dialog:has(form[data-save="events"]) .route-tabs{gap:5px}body.atp-portal #atp-dialog:has(form[data-save="events"]) .route-tabs button{font-size:12px;padding:12px 5px}}

/* Keep the signed-in workspace focused on the team tools. */
body.atp-portal:has(#atp-app .sidebar){padding-top:0}
body.atp-portal:has(#atp-app .sidebar)>.atp-site-header{display:none}
body.atp-portal:has(#atp-app .sidebar) .sidebar{top:0}
body.atp-portal:has(#atp-app .sidebar) .workspace{min-height:100svh}

/* Comunicats en files a tota l’amplada. */
body.atp-portal .content:has(.notice-grid){max-width:none}
body.atp-portal .notice-grid{display:flex;flex-direction:column;gap:0;width:100%;border-top:1px solid var(--line)}
body.atp-portal .notice-grid>.notice-card{width:100%;margin:0;padding:24px 0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
body.atp-portal .notice-card h3{margin-bottom:12px;overflow-wrap:anywhere}
body.atp-portal .notice-card>.prewrap{line-height:1.7;margin-bottom:12px}
body.atp-portal .notice-card .card-actions{margin-top:12px}

/* Control de magatzem i historial per equip. */
body.atp-portal .warehouse-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
body.atp-portal .warehouse-summary .is-active{outline:2px solid var(--paper);outline-offset:2px}
body.atp-portal .warehouse-history-row{padding:16px 0;border-bottom:1px solid var(--line)}
body.atp-portal .warehouse-history-row small{display:block;margin:7px 0;color:var(--muted)}
body.atp-portal .asset-history{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}
body.atp-portal .edit-form fieldset{border:1px solid var(--line);padding:16px;border-radius:8px;display:grid;gap:12px}
body.atp-portal .asset-detail-photo{width:100%;max-width:280px;max-height:260px;object-fit:contain;border-radius:8px}
body.atp-portal .notice-card h2{overflow-wrap:anywhere}

/* Controls nous integrats amb els colors originals. */
body.atp-portal #atp-dialog:has(.edit-form),body.atp-portal #atp-dialog:has(.staff-workspace){width:min(1180px,calc(100vw - 40px));max-width:none;height:min(900px,calc(100svh - 40px));max-height:calc(100svh - 40px)}
body.atp-portal #atp-dialog .edit-form,body.atp-portal #atp-dialog .staff-workspace{padding:28px 32px;gap:22px}
body.atp-portal #atp-dialog .edit-form textarea{min-height:190px;resize:vertical}
body.atp-portal #atp-dialog [hidden]{display:none!important}
body.atp-portal .photo-picker,body.atp-portal .pdf-picker{display:grid;gap:14px;padding:20px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}
body.atp-portal .photo-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;min-height:145px;padding:24px;border:2px dashed var(--line);border-radius:8px;background:var(--panel);cursor:pointer;color:var(--text)}
body.atp-portal .photo-dropzone span{color:var(--muted);font-size:14px}
body.atp-portal .photo-dropzone:hover,body.atp-portal .photo-dropzone.is-dragging{background:var(--panel2);border-color:var(--paper)}
body.atp-portal .photo-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
body.atp-portal #atp-dialog label:has(> .photo-file){position:relative;overflow:hidden;cursor:pointer;display:inline-flex;flex-direction:row;align-items:center;justify-content:center}
body.atp-portal .photo-file{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
body.atp-portal .photo-status,body.atp-portal .pdf-status{overflow-wrap:anywhere}
body.atp-portal .asset-photo-preview{width:auto;max-width:100%;height:auto;max-height:300px;object-fit:contain}
body.atp-portal .gallery-upload-list{display:grid;gap:16px}
body.atp-portal .gallery-upload-row{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:20px;border:1px solid var(--line);border-radius:10px;padding:16px}
body.atp-portal .gallery-upload-row img{width:140px;height:110px;object-fit:cover;border-radius:8px}
body.atp-portal .gallery-upload-row>label{min-width:0}
body.atp-portal .staff-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:16px}
body.atp-portal .staff-tabs button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:13px 18px;font-weight:600}
body.atp-portal .staff-tabs button[aria-selected=true]{background:var(--paper);color:var(--dark);border-color:var(--paper)}
body.atp-portal .staff-record{padding:24px 0;border-bottom:1px solid var(--line)}
body.atp-portal .staff-record h3{margin-top:14px}
body.atp-portal .staff-record .prewrap{margin-top:14px}
body.atp-portal #atp-dialog .staff-role-form{padding:0!important;height:auto}
@media(max-width:650px){body.atp-portal #atp-dialog:has(.edit-form),body.atp-portal #atp-dialog:has(.staff-workspace){width:calc(100vw - 12px);height:calc(100svh - 12px);max-height:calc(100svh - 12px);border-radius:10px}body.atp-portal #atp-dialog .edit-form,body.atp-portal #atp-dialog .staff-workspace{padding:20px 18px}body.atp-portal .photo-picker,body.atp-portal .pdf-picker{padding:14px}body.atp-portal .photo-buttons .button{flex:1}body.atp-portal .gallery-upload-row{grid-template-columns:80px 1fr;gap:12px}body.atp-portal .gallery-upload-row img{width:80px;height:80px}body.atp-portal .gallery-upload-row button{grid-column:2}body.atp-portal .staff-tabs button{flex:1;padding:12px 10px}}

/* Mides QR i controls de l’historial. */
body.atp-portal .qr-size-row{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:22px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
body.atp-portal .qr-size-row .check-label{margin:0;min-width:0}
body.atp-portal .qr-size-row small{display:block;margin-top:5px;color:var(--muted)}
body.atp-portal .qr-select-list{max-height:460px;overflow:auto;padding-right:8px}
body.atp-portal .warehouse-history-row.is-archived{opacity:.7;border-style:dashed}
body.atp-portal .warehouse-history-row .card-actions{margin-top:12px}
@media(max-width:650px){body.atp-portal .qr-size-row{grid-template-columns:1fr;gap:12px;padding:18px 0}body.atp-portal .qr-select-list{max-height:50svh}}
