:root{--primary:#4f46e5;--primary-dark:#4338ca;--primary-light:#eef2ff;--text:#18181b;--text-muted:#71717a;--text-subtle:#a1a1aa;--border:#e4e4e7;--border-strong:#d4d4d8;--surface:#fff;--surface-muted:#f4f4f5;--background:#fafafa;--danger:#b42318;--danger-background:#fef3f2;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--shadow-sm:0 1px 2px #18181b0a;--shadow-md:0 8px 24px #18181b0f;--shadow-lg:0 24px 56px #18181b1f;--sidebar-width:272px}.login-page{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:100vh;display:grid}.login-brand{color:#fff;background:radial-gradient(circle at 80% 15%,#818cf859,#0000 38%),linear-gradient(160deg,#0f0f14 0%,#18181f 45%,#312e81 100%);flex-direction:column;justify-content:space-between;padding:64px;display:flex;position:relative;overflow:hidden}.login-brand:before,.login-brand:after{content:"";border:1px solid #ffffff1a;border-radius:50%;position:absolute}.login-brand:before{width:420px;height:420px;bottom:-100px;right:-210px}.login-brand:after{width:280px;height:280px;bottom:-30px;right:-115px}.brand-mark{z-index:1;width:fit-content;display:inline-flex;position:relative}.brand-mark img{filter:drop-shadow(0 4px 14px #00000059);width:auto;height:84px;display:block}.login-brand>div:last-child{z-index:1;max-width:650px;margin:auto 0;position:relative}.brand-company{color:#a5b4fc;letter-spacing:.14em;text-transform:uppercase;margin:0 0 22px;font-size:12px;font-weight:600}.login-brand h1{color:#fff;letter-spacing:-.03em;max-width:600px;margin:0;font-size:clamp(38px,4.6vw,60px);font-weight:600;line-height:1.08}.brand-description{color:#d4d4d8;max-width:540px;margin:26px 0 0;font-size:16px;line-height:1.7}.login-panel{background:var(--background);place-items:center;min-height:100vh;padding:48px;display:grid}.login-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:min(100%,420px);box-shadow:var(--shadow-lg);padding:40px}.login-heading{margin-bottom:30px}.eyebrow{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:600}.login-heading h2{color:var(--text);letter-spacing:-.02em;margin:0;font-size:28px;font-weight:600}.login-heading>p:last-child{color:var(--text-muted);margin:8px 0 0;line-height:1.6}.login-card form{flex-direction:column;display:flex}.login-card label{color:var(--text);margin:0 0 8px;font-size:13px;font-weight:600}.login-card input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:46px;color:var(--text);background:#fff;outline:none;margin-bottom:18px;padding:0 14px;transition:border-color .15s,box-shadow .15s}.login-card input::placeholder{color:var(--text-subtle)}.login-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e524}.primary-button,.secondary-button{border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;padding:0 18px;font-size:14px;font-weight:600;transition:transform .12s,background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.primary-button{color:#fff;background:var(--primary);min-height:46px;box-shadow:var(--shadow-sm);border:1px solid #0000;margin-top:4px}.primary-button:hover:not(:disabled){background:var(--primary-dark)}.primary-button:active:not(:disabled){transform:translateY(1px)}.primary-button:disabled{opacity:.6}.secondary-button{border:1px solid var(--border);min-height:42px;color:var(--text);background:#fff;padding:0 16px}.secondary-button:hover{border-color:var(--border-strong);background:var(--surface-muted)}.form-error{border-radius:var(--radius-sm);color:var(--danger);background:var(--danger-background);border:1px solid #fecaca;margin:0 0 16px;padding:11px 14px;font-size:13px;line-height:1.5}.login-support{color:var(--text-muted);text-align:center;margin:26px 0 0;font-size:12px;line-height:1.6}.app-loading{min-height:100vh;color:var(--text-muted);background:var(--background);place-content:center;justify-items:center;display:grid}.loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:34px;height:34px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.portal-page{background:var(--background);min-height:100vh}.app-sidebar{z-index:30;width:var(--sidebar-width);border-right:1px solid var(--border);background:var(--surface);flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:fixed;top:0;left:0}.app-sidebar-brand{flex-direction:column;gap:10px;padding:6px 8px 24px;display:flex}.app-sidebar-logo{width:100%;max-width:168px;height:auto;display:block}.app-sidebar-brand-text{min-width:0}.portal-logo{color:var(--text);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:700;overflow:hidden}.portal-product{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.app-sidebar-nav{flex-direction:column;gap:2px;margin-top:4px;display:flex}.portal-nav-link{border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:11px;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:color .12s,background-color .12s;display:flex}.portal-nav-link svg{opacity:.8;flex-shrink:0}.portal-nav-link:hover{color:var(--text);background:var(--surface-muted)}.portal-nav-link-active{color:var(--primary);background:var(--primary-light);font-weight:600}.portal-nav-link-active svg{opacity:1}.portal-nav-link-active:hover{color:var(--primary);background:var(--primary-light)}.app-sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:16px}.portal-user{align-items:center;gap:10px;padding:4px;display:flex}.portal-user>div{flex-direction:column;flex:1;min-width:0;display:flex}.portal-user strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.portal-user span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11.5px;overflow:hidden}.portal-user .secondary-button{min-height:34px;padding:0 12px;font-size:12.5px}.portal-content{width:min(1180px, calc(100% - var(--sidebar-width) - 48px));margin-left:calc(var(--sidebar-width) + 40px);padding:56px 0 72px}.portal-content h1{color:var(--text);letter-spacing:-.02em;margin:0;font-size:clamp(26px,3vw,32px);font-weight:600}.portal-content>p:last-child{color:var(--text-muted);margin:12px 0 0;font-size:15px}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-brand{min-height:340px;padding:36px 26px}.login-brand h1{font-size:clamp(34px,9vw,48px)}.brand-description{margin-top:18px;font-size:15px}.login-panel{min-height:auto;padding:36px 20px}.login-card{padding:30px 24px}.app-sidebar{flex-flow:wrap;align-items:center;gap:16px;width:100%;height:auto;padding:14px clamp(16px,4vw,32px);position:static}.app-sidebar-brand{padding:0}.app-sidebar-nav{flex-flow:wrap;gap:4px;margin-top:0}.app-sidebar-footer{border-top:0;margin:0 0 0 auto;padding-top:0}.portal-user{padding:0}.portal-user>div{display:none}.portal-content{width:min(100% - 32px,1180px);margin-left:auto;padding-top:40px}}.portal-title-row{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.portal-title-row h1{margin:0}.portal-subtitle{color:var(--text-muted);margin:12px 0 0;font-size:14.5px}.ticket-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:32px;display:grid}.summary-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:20px}.summary-card span{color:var(--text-muted);font-size:12.5px;font-weight:500;display:block}.summary-card strong{color:var(--text);margin-top:10px;font-size:28px;font-weight:600;line-height:1;display:block}.ticket-toolbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:minmax(0,1fr) 220px;gap:14px;margin-top:24px;padding:16px;display:grid}.ticket-search,.ticket-filter{flex-direction:column;gap:7px;display:flex}.ticket-toolbar label{color:var(--text);font-size:12.5px;font-weight:600}.ticket-toolbar input,.ticket-toolbar select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:42px;color:var(--text);background:#fff;outline:none;padding:0 13px}.ticket-toolbar input:focus,.ticket-toolbar select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51f}.ticket-list{flex-direction:column;gap:12px;margin-top:20px;display:flex}.ticket-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);justify-content:space-between;gap:24px;padding:22px;transition:border-color .15s,box-shadow .15s;display:flex}.ticket-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.ticket-card-main{min-width:0}.ticket-card-heading{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ticket-number{color:var(--text-muted);font-size:12.5px;font-weight:600}.ticket-status,.ticket-priority,.ticket-category,.sla-badge,.client-status,.role-badge,.contract-status{border-radius:var(--radius-sm);letter-spacing:.01em;width:fit-content;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.ticket-category{color:#3538cd;background:#eef4ff}.sla-badge--ok{color:#067647;background:#ecfdf3}.sla-badge--risk{color:#b54708;background:#fffaeb}.sla-badge--breached{color:#b42318;background:#fef3f2}.sla-badge--met{color:#067647;background:#ecfdf3}.sla-badge--na{color:#475467;background:#f2f4f7}.ticket-status{color:#175cd3;background:#eff8ff}.ticket-status--in-progress,.ticket-status--pending,.ticket-status--opseg-pending{color:#b54708;background:#fffaeb}.ticket-status--waiting-customer,.ticket-status--customer-pending{color:#6941c6;background:#f4f3ff}.ticket-status--resolved,.ticket-status--closed{color:#067647;background:#ecfdf3}.ticket-status--cancelled{color:#b42318;background:#fef3f2}.ticket-status--waiting-parts{color:#6941c6;background:#f4f3ff}.ticket-status--completed{color:#067647;background:#ecfdf3}.ticket-card h2{color:var(--text);margin:12px 0 0;font-size:17px;font-weight:600}.ticket-description{max-width:780px;color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.ticket-metadata{color:var(--text-muted);flex-wrap:wrap;gap:8px 22px;margin-top:16px;font-size:12.5px;display:flex}.ticket-metadata strong{color:var(--text);font-weight:600}.ticket-card-side{justify-content:flex-end;align-items:flex-start;min-width:150px;display:flex}.ticket-priority{color:#475467;background:#f2f4f7}.ticket-priority--high,.ticket-priority--urgent{color:#b42318;background:#fef3f2}.ticket-priority--medium{color:#b54708;background:#fffaeb}.ticket-priority--critical{color:#fff;background:#b42318}.portal-state-card{border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;background:var(--surface);place-content:center;justify-items:center;min-height:240px;margin-top:20px;padding:36px;display:grid}.portal-state-card h2{color:var(--text);margin:0;font-size:17px;font-weight:600}.portal-state-card p{max-width:460px;color:var(--text-muted);margin:10px 0 0;font-size:14px}.error-state{border-color:#fecaca}.state-button{min-width:170px;margin-top:20px;padding:0 18px}@media (width<=900px){.ticket-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.portal-title-row{flex-direction:column;align-items:stretch}.ticket-summary-grid,.ticket-toolbar{grid-template-columns:1fr}.ticket-card{flex-direction:column}.ticket-card-side{justify-content:flex-start;min-width:0}}.ticket-card-side{flex-direction:column;gap:16px}.ticket-open-link,.back-link{color:var(--primary);font-size:13.5px;font-weight:600;text-decoration:none}.ticket-open-link{font-size:13px}.ticket-open-link:hover,.back-link:hover{text-decoration:underline}.back-link{margin-bottom:28px;font-size:13.5px;display:inline-flex}.ticket-detail-heading{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.ticket-detail-heading h1{margin:0}.ticket-detail-badges{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex}.ticket-detail-grid{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:20px;margin-top:30px;display:grid}.ticket-detail-card,.ticket-information-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:24px}.ticket-detail-card h2,.ticket-information-card h2{color:var(--text);margin:0;font-size:16px;font-weight:600}.ticket-full-description{color:var(--text-muted);white-space:pre-wrap;margin:18px 0 0;line-height:1.75}.ticket-information-card dl{margin:18px 0 0}.ticket-information-card dl>div{border-bottom:1px solid var(--surface-muted);grid-template-columns:120px 1fr;gap:16px;padding:12px 0;display:grid}.ticket-information-card dl>div:last-child{border-bottom:0}.ticket-information-card dt{color:var(--text-muted);font-size:12.5px}.ticket-information-card dd{color:var(--text);text-align:right;margin:0;font-size:12.5px;font-weight:600}.state-link{justify-content:center;align-items:center;min-height:46px;margin-top:20px;padding:0 20px;text-decoration:none;display:inline-flex}@media (width<=760px){.ticket-detail-heading{flex-direction:column}.ticket-detail-badges{justify-content:flex-start}.ticket-detail-grid{grid-template-columns:1fr}}.ticket-detail-tabs{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);scrollbar-width:thin;gap:4px;margin-top:26px;padding:5px;display:flex;overflow-x:auto}.ticket-detail-tab{border-radius:var(--radius-sm);min-height:40px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:8px 15px;font-size:13.5px;font-weight:600;transition:color .15s,background-color .15s}.ticket-detail-tab:hover{color:var(--text);background:var(--surface-muted)}.ticket-detail-tab:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}.ticket-detail-tab-active,.ticket-detail-tab-active:hover{color:#fff;background:var(--primary)}.ticket-detail-tab-panel{margin-top:18px}.ticket-section-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.ticket-section-header span{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;font-size:11.5px;font-weight:600;display:block}.ticket-section-header h2{color:var(--text);margin:0;font-size:19px;font-weight:600}.ticket-section-state{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-muted);text-align:center;padding:30px 22px;font-size:14px}.ticket-section-state-error{color:#9f1239;background:#fff5f5;border-color:#fca5a5}.ticket-history{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:22px}.ticket-history-item{grid-template-columns:20px minmax(0,1fr);gap:14px;padding-bottom:24px;display:grid;position:relative}.ticket-history-item:last-child{padding-bottom:0}.ticket-history-item:not(:last-child):before{background:var(--border);content:"";width:2px;position:absolute;top:13px;bottom:-1px;left:5px}.ticket-history-marker{z-index:1;border:3px solid var(--primary-light);background:var(--primary);box-sizing:border-box;border-radius:50%;width:12px;height:12px;margin-top:3px;position:relative}.ticket-history-content{flex-direction:column;gap:4px;min-width:0;display:flex}.ticket-history-content strong{color:var(--text);font-size:13.5px;font-weight:600;line-height:1.5}.ticket-history-content time{color:var(--text-muted);font-size:12px}.ticket-comments{flex-direction:column;gap:12px;display:flex}.ticket-comment{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:38px minmax(0,1fr);gap:14px;padding:18px;display:grid}.ticket-comment-avatar{background:var(--primary-light);width:38px;height:38px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}.ticket-comment-content{min-width:0}.ticket-comment-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ticket-comment-header strong{color:var(--text);font-size:13.5px;font-weight:600}.ticket-comment-header time{color:var(--text-muted);flex-shrink:0;font-size:12px}.ticket-comment-content p{color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap;margin:8px 0 0;font-size:13.5px;line-height:1.65}.ticket-comment-edited{color:var(--text-muted);margin-top:8px;font-size:11px;font-style:italic;display:inline-block}.ticket-comment-form{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:14px;margin-bottom:16px;padding:18px;display:flex}.ticket-comment-form textarea{min-height:92px}.ticket-comment-form-actions{justify-content:flex-end;align-items:center;display:flex}.ticket-comment-form-actions .primary-button{min-width:150px;min-height:40px}.ticket-checklist{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:20px}.ticket-checklist-summary{justify-content:space-between;align-items:center;gap:16px;display:flex}.ticket-checklist-summary>div{flex-direction:column;gap:4px;min-width:0;display:flex}.ticket-checklist-summary strong{color:var(--text)}.ticket-checklist-summary>strong{color:var(--text);font-size:18px;font-weight:600}.ticket-checklist-summary span{color:var(--text-muted);font-size:12.5px}.ticket-checklist-progress{background:var(--surface-muted);border-radius:999px;height:7px;margin:14px 0 20px;overflow:hidden}.ticket-checklist-progress>div{border-radius:inherit;background:var(--primary);height:100%;transition:width .25s}.ticket-checklist-items{flex-direction:column;gap:9px;display:flex}.ticket-checklist-item{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;grid-template-columns:26px minmax(0,1fr);gap:12px;padding:14px;display:grid}.ticket-checklist-item-completed{background:#f6fcf8;border-color:#bbf7d0}.ticket-checklist-indicator{border:2px solid var(--border-strong);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:flex}.ticket-checklist-item-completed .ticket-checklist-indicator{background:#16a34a;border-color:#16a34a}.ticket-checklist-content{flex-direction:column;gap:5px;min-width:0;display:flex}.ticket-checklist-heading{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.ticket-checklist-heading strong{color:var(--text);font-size:13.5px;font-weight:600;line-height:1.45}.ticket-checklist-content>span{color:var(--text-muted);font-size:12px}.ticket-required-badge{color:#92400e;letter-spacing:.03em;text-transform:uppercase;background:#fef3c7;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700}.ticket-attachments{flex-direction:column;gap:10px;display:flex}.ticket-attachment{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;transition:border-color .15s,box-shadow .15s;display:grid}.ticket-attachment:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.ticket-attachment-icon{border-radius:var(--radius-sm);background:var(--primary-light);width:42px;height:42px;color:var(--primary);justify-content:center;align-items:center;font-size:19px;font-weight:700;display:flex}.ticket-attachment-content{flex-direction:column;gap:4px;min-width:0;display:flex}.ticket-attachment-content strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.ticket-attachment-content span{color:var(--text-muted);font-size:12px}.ticket-attachment-content p{color:var(--text-muted);margin:2px 0 0;font-size:12.5px;line-height:1.5}.ticket-download-button{border:1px solid var(--primary);border-radius:var(--radius-sm);min-width:88px;min-height:38px;color:var(--primary);font:inherit;cursor:pointer;background:0 0;padding:8px 14px;font-size:12.5px;font-weight:600;transition:color .15s,background-color .15s,opacity .15s}.ticket-download-button:hover:not(:disabled){color:#fff;background:var(--primary)}.ticket-download-button:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}.ticket-download-button:disabled{cursor:wait;opacity:.6}.ticket-attachment-form{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:14px;margin-bottom:16px;padding:18px;display:flex}.ticket-attachment-form input[type=file]{width:100%;color:var(--text);font:inherit;padding:10px 0}.ticket-attachment-form-actions{justify-content:flex-end;align-items:center;display:flex}.ticket-attachment-form-actions .primary-button{min-width:150px;min-height:40px}@media (width<=720px){.ticket-detail-tabs{margin-top:20px}.ticket-detail-tab{padding-left:12px;padding-right:12px}.ticket-history,.ticket-checklist{padding:16px}.ticket-comment{grid-template-columns:34px minmax(0,1fr);padding:15px}.ticket-comment-avatar{width:34px;height:34px;font-size:11px}.ticket-comment-header{flex-direction:column;align-items:flex-start;gap:3px}.ticket-attachment{grid-template-columns:38px minmax(0,1fr)}.ticket-attachment-icon{width:38px;height:38px}.ticket-download-button{grid-column:1/-1;width:100%}}@media (width<=480px){.ticket-detail-tabs{margin-left:-4px;margin-right:-4px}.ticket-detail-tab{font-size:12.5px}.ticket-section-header h2{font-size:18px}.ticket-checklist-summary{align-items:flex-start}}.portal-title-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.portal-title-actions .primary-button,.portal-title-actions .secondary-button{min-height:42px;text-decoration:none}.portal-title-actions .primary-button{border:1px solid var(--border);color:var(--text);box-shadow:none;background:#fff}.portal-title-actions .primary-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-muted)}.create-ticket-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;margin-top:26px;display:grid}.create-ticket-main{min-width:0}.create-ticket-heading{margin-bottom:22px}.create-ticket-heading h1{margin-top:0;margin-bottom:8px}.create-ticket-form{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:22px;padding:26px;display:flex}.form-field{flex-direction:column;gap:8px;display:flex}.form-field label,.priority-fieldset legend{color:var(--text);font-size:13.5px;font-weight:600}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;background:#fff;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-field input,.form-field select{min-height:44px;padding:0 13px}.form-field textarea{resize:vertical;min-height:140px;padding:12px 13px;line-height:1.6}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-subtle)}.form-field input:hover:not(:disabled),.form-field textarea:hover:not(:disabled),.form-field select:hover:not(:disabled){border-color:var(--border-strong)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e524}.form-field input:disabled,.form-field textarea:disabled,.form-field select:disabled{cursor:not-allowed;background:var(--surface-muted);opacity:.75}.form-field-hint{color:var(--text-muted);font-size:12px;line-height:1.5}.optional-label{color:var(--text-muted);margin-left:8px;font-size:11px;font-weight:500}.priority-fieldset{border:0;min-width:0;margin:0;padding:0}.priority-fieldset legend{margin-bottom:10px}.priority-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.priority-option{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:#fff;align-items:flex-start;gap:10px;min-width:0;padding:14px;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.priority-option:hover{border-color:var(--border-strong);background:var(--surface-muted)}.priority-option--selected{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 1px var(--primary)}.priority-option input{width:16px;height:16px;accent-color:var(--primary);margin:2px 0 0}.priority-option-content{flex-direction:column;gap:4px;min-width:0;display:flex}.priority-option-content strong{color:var(--text);font-size:13.5px;font-weight:600}.ticket-team-checklist{flex-wrap:wrap;gap:8px;display:flex}.ticket-team-empty{color:var(--text-muted);margin:0;font-size:13px}.ticket-team-option{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text);background:#fff;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:border-color .15s,background-color .15s;display:flex}.ticket-team-option:hover{border-color:var(--border-strong);background:var(--surface-muted)}.ticket-team-option input{width:15px;height:15px;accent-color:var(--primary)}.priority-option-content span{color:var(--text-muted);font-size:12px;line-height:1.45}.form-message{border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:13px 15px;font-size:13px;line-height:1.5;display:flex}.form-message--error{color:#9f1239;background:#fff5f5;border:1px solid #fca5a5}.create-ticket-actions{justify-content:flex-end;align-items:center;gap:12px;padding-top:4px;display:flex}.create-ticket-actions .primary-button,.create-ticket-actions .secondary-button{min-width:134px;min-height:42px;text-decoration:none}.create-ticket-actions a[aria-disabled=true]{pointer-events:none;opacity:.6}.create-ticket-help{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--primary-light);padding:22px}.create-ticket-help h2{color:var(--text);margin:0 0 14px;font-size:16px;font-weight:600}.create-ticket-help ul{color:var(--text-muted);flex-direction:column;gap:10px;margin:0;padding-left:18px;font-size:13px;line-height:1.55;display:flex}.create-ticket-help p{color:var(--text-muted);border-top:1px solid #4f46e524;margin:18px 0 0;padding-top:16px;font-size:13px;line-height:1.55}@media (width<=900px){.create-ticket-layout{grid-template-columns:1fr}.create-ticket-help{order:2}}@media (width<=720px){.portal-title-actions{width:100%}.portal-title-actions .primary-button,.portal-title-actions .secondary-button{flex:1}.create-ticket-layout{margin-top:20px}.create-ticket-form{padding:18px}.priority-option-grid{grid-template-columns:1fr}}@media (width<=480px){.portal-title-actions{flex-direction:column-reverse;align-items:stretch}.portal-title-actions .primary-button,.portal-title-actions .secondary-button{width:100%}.create-ticket-form{border-radius:var(--radius-lg);gap:18px;padding:16px}.create-ticket-actions{flex-direction:column-reverse;align-items:stretch}.create-ticket-actions .primary-button,.create-ticket-actions .secondary-button{width:100%}.create-ticket-help{padding:18px}}.form-field-error{color:var(--danger);font-size:12px;font-weight:600;line-height:1.4}.form-field input[aria-invalid=true]{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261f}.form-message--success{color:#067647;background:#ecfdf3;border:1px solid #a6e9c6}.client-status{color:#067647;background:#ecfdf3}.client-status--inactive,.client-status--archived{color:#475467;background:#f2f4f7}.contract-status--active{color:#067647;background:#ecfdf3}.contract-status--expiring{color:#b54708;background:#fffaeb}.contract-status--expired,.contract-status--cancelled{color:#b42318;background:#fef3f2}.role-badge{color:#3538cd;background:#eef4ff}.role-badge--admin{color:#b42318;background:#fef3f2}.role-badge--manager{color:#b54708;background:#fffaeb}.role-badge--technician{color:#175cd3;background:#eff8ff}.role-badge--customer{color:#6941c6;background:#f4f3ff}.staff-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-home-card{border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;background:var(--surface);flex-direction:column;padding:24px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.staff-home-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.staff-home-card h2{color:var(--text);margin:10px 0 0;font-size:19px;font-weight:600}.staff-home-card p{color:var(--text-muted);margin:10px 0 0;font-size:14px;line-height:1.6}.staff-form-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);flex-direction:column;gap:20px;margin-top:26px;padding:28px;display:flex}.staff-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.staff-access-card{margin-top:22px}.staff-access-empty{color:var(--text-muted);margin:0;font-size:14px}.staff-access-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.staff-access-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;display:flex}.staff-access-item strong{color:var(--text);font-size:13.5px;font-weight:600;display:block}.staff-access-item span{color:var(--text-muted);margin-top:3px;font-size:12.5px;display:block}.staff-link-form{border-top:1px solid var(--border);align-items:flex-end;gap:16px;padding-top:6px;display:flex}.staff-link-form .form-field{flex:1}.staff-link-form .secondary-button{min-height:50px}.staff-users-shortcut{margin-top:22px}@media (width<=720px){.staff-form-grid,.staff-home-grid{grid-template-columns:1fr}.staff-link-form{flex-direction:column;align-items:stretch}}.calendar-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);margin-top:22px;padding:24px}.calendar-nav{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.calendar-nav h2{color:var(--text);text-align:center;margin:0;font-size:17px;font-weight:600}.calendar-nav-actions{gap:10px;display:flex}.calendar-view-switch{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);gap:6px;padding:4px;display:flex}.calendar-view-switch .secondary-button{background:0 0;border:none;padding:6px 14px}.calendar-view-switch-active{color:#fff!important;background:var(--primary)!important}.calendar-day-panel-heading{flex-direction:column;gap:10px;display:flex}.calendar-day-nav{flex-wrap:wrap;gap:8px;display:flex}.calendar-weekday-row{grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:8px;display:grid}.calendar-weekday-row span{color:var(--text-muted);text-align:center;text-transform:uppercase;padding:6px 4px;font-size:12px;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-day{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);text-align:left;cursor:pointer;flex-direction:column;gap:6px;min-height:92px;padding:8px;transition:border-color .15s,box-shadow .15s;display:flex}.calendar-day:hover{border-color:var(--border-strong)}.calendar-day--muted{background:var(--background);color:var(--text-subtle)}.calendar-day--muted .calendar-day-number{color:var(--text-subtle)}.calendar-day--today .calendar-day-number{color:#fff;background:var(--primary);border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 4px;display:inline-flex}.calendar-day--selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.calendar-day-number{color:var(--text);font-size:13px;font-weight:600}.calendar-day-items{flex-direction:column;gap:3px;display:flex}.calendar-day-chip{color:var(--primary-dark);background:var(--primary-light);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:2px 6px;font-size:10.5px;font-weight:500;overflow:hidden}.calendar-day-chip--ticket{color:#175cd3;background:#eff8ff}.calendar-day-chip--order{color:#b54708;background:#fffaeb}.calendar-day-chip--maintenance{color:#0e7490;background:#ecfeff}.calendar-day-more{color:var(--text-muted);font-size:10.5px;font-weight:600}.calendar-day-panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);margin-top:22px;padding:24px}.calendar-day-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.calendar-day-panel-header h2{color:var(--text);text-transform:capitalize;margin:0;font-size:16px;font-weight:600}.calendar-empty-day{color:var(--text-muted);margin:0;font-size:14px}.calendar-day-list{flex-direction:column;gap:14px;display:flex}.calendar-item-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.calendar-item-main{min-width:0}.calendar-item-heading{align-items:center;gap:10px;margin-bottom:6px;display:flex}.calendar-item-main h3{color:var(--text);margin:0;font-size:14.5px;font-weight:600}.calendar-item-title-link{color:var(--primary);font-size:14.5px;font-weight:600;text-decoration:none;display:inline-block}.calendar-item-title-link:hover{text-decoration:underline}.calendar-type-badge{color:var(--primary-dark);background:var(--primary-light);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.calendar-type-badge--meeting{color:#6941c6;background:#f4f3ff}.calendar-type-badge--alert{color:#b42318;background:#fef3f2}.calendar-type-badge--other{color:var(--text-muted);background:var(--surface-muted)}.calendar-item-time{color:var(--text-muted);font-size:12.5px;font-weight:600}.calendar-item-description{color:var(--text-muted);margin:6px 0 0;font-size:13px;line-height:1.55}.calendar-item-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:12.5px;display:flex}.calendar-item-meta strong{color:var(--text);font-weight:600}.calendar-item-actions{flex-shrink:0;gap:8px;display:flex}.danger-link-button{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.danger-link-button:hover{text-decoration:underline}.calendar-form-card{margin-top:22px}.calendar-form-header{justify-content:space-between;align-items:center;display:flex}.calendar-form-header h2{color:var(--text);margin:0;font-size:17px;font-weight:600}.calendar-form-checkbox label{color:var(--text);align-items:center;gap:8px;font-size:13.5px;font-weight:500;display:flex}.calendar-form-checkbox input[type=checkbox]{width:16px;height:16px}@media (width<=860px){.calendar-grid{gap:4px}.calendar-day{min-height:72px;padding:6px}.calendar-day-chip,.calendar-day-more{display:none}}@media (width<=640px){.calendar-nav{text-align:center;flex-wrap:wrap;justify-content:center}.calendar-item-card{flex-direction:column}.calendar-item-actions{align-self:flex-end}}.pmoc-items-section{border-top:1px solid var(--border);flex-direction:column;gap:18px;padding-top:6px;display:flex}.pmoc-item-block{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--background);flex-direction:column;gap:16px;padding:20px;display:flex}.pmoc-item-block-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.pmoc-item-block-header h3{color:var(--text);margin:0;font-size:15px;font-weight:600}.pmoc-activities-list{border-top:1px dashed var(--border);flex-direction:column;gap:14px;padding-top:6px;display:flex}.pmoc-activity-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:8px;padding:14px;display:flex}.pmoc-activity-summary-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pmoc-activity-summary-list li{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--text);padding:10px 12px;font-size:13.5px;line-height:1.6}@media (width<=720px){.pmoc-item-block-header{flex-direction:column;align-items:flex-start}}:root{color:#18181b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafafa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#fafafa;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed}a{color:inherit}#root{min-height:100vh}::selection{color:#1e1b4b;background:#e0e7ff}
