@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@300;400;500;600;700&family=IBM+Plex+Serif:wght@400;500;600&display=swap";:root{color-scheme:light;--ink: #1f2937;--surface: #f5f7fb;--surface-2: #eef2f7;--card: #ffffff;--accent: #22c55e;--accent-2: #16a34a;--accent-soft: #dcfce7;--accent-warm: #f59e0b;--navy: #0f172a;--navy-2: #1f2937;--navy-3: #334155;--muted: #e5eaf0;--muted-2: #d7dde6;--ink-soft: rgba(31, 41, 55, .6);--shadow: rgba(15, 23, 42, .1);--border: rgba(15, 23, 42, .08);--glow: rgba(34, 197, 94, .2)}@keyframes floatIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}*{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans,sans-serif;color:var(--ink);background:#f6f7fb;min-height:100vh;overflow-x:hidden;position:relative;isolation:isolate}body:before,body:after{content:"";position:fixed;z-index:-1;border-radius:999px;pointer-events:none;filter:blur(0)}body:before{width:540px;height:540px;top:-220px;left:-140px;background:radial-gradient(circle,rgba(34,197,94,.14),transparent 70%)}body:after{width:480px;height:480px;bottom:-220px;right:-140px;background:radial-gradient(circle,rgba(59,130,246,.12),transparent 70%)}h1,h2,h3,h4{font-family:"IBM Plex Serif",serif;margin:0 0 .25rem}p{margin:.25rem 0;color:var(--ink-soft)}button,input,select,textarea{font-family:inherit}.login{display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;min-height:100vh}.login-panel{width:min(520px,100%);padding:3rem;background:linear-gradient(140deg,#fffffffa,#f5f8fbf5);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;box-shadow:0 24px 70px #0000001f;border-radius:28px}.login-header{display:flex;align-items:center;gap:1.5rem;width:min(420px,100%)}.login-header h1{margin:0;line-height:1.2}.brand-logo{width:200px;height:auto;object-fit:contain}.topbar-left .brand-logo{width:200px}.brand-dot{width:44px;height:44px;border-radius:14px;background:linear-gradient(140deg,var(--accent) 0%,#4ade80 45%,#16a34a 100%);box-shadow:0 10px 20px #22c55e59}.brand-name{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:600;color:var(--ink-soft)}.login-sub{max-width:420px;width:min(420px,100%)}.login-form{display:grid;gap:1rem;width:min(420px,100%)}label{display:grid;gap:.4rem;font-size:.9rem;color:var(--ink-soft)}input,select,textarea{padding:.65rem .75rem;border-radius:10px;border:1px solid var(--border);background:#fff;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px #22c55e2e}textarea{resize:vertical}.engineer-select-field{position:relative}.engineer-select-field.multi .engineer-select-trigger{align-items:flex-start}.engineer-select-field.multi .engineer-select-trigger span:first-child{white-space:normal;text-align:left}.engineer-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--border);background:#fff;font-size:.95rem;cursor:pointer}.engineer-select-field.is-disabled .engineer-select-trigger{opacity:.6;cursor:not-allowed}.engineer-select-menu{position:absolute;inset:auto 0 0 0;transform:translateY(calc(100% + .5rem));background:#fff;border-radius:14px;border:1px solid var(--border);box-shadow:0 18px 40px #0f1b2d2e;padding:.35rem;display:grid;gap:.3rem;z-index:5}.engineer-option{display:flex;align-items:center;gap:.5rem;border:none;text-align:left;padding:.6rem .75rem;border-radius:10px;font-size:.9rem;cursor:pointer}.engineer-option.selected{box-shadow:inset 0 0 0 2px #0f172a26}.engineer-option-check{width:18px;height:18px;border-radius:6px;border:1px solid rgba(15,23,42,.2);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;color:#0f172a;background:#fff;flex:0 0 auto}.engineer-option.neutral{background:#fff;color:var(--ink)}.engineer-option.available{background:#e6f7e8;color:#1b5e20}.engineer-option.unavailable{background:#fde8e8;color:#8b1d1d;cursor:not-allowed;opacity:.8}.engineer-option:disabled{pointer-events:none}.btn{border:1px solid var(--border);background:#fff;padding:.7rem 1.1rem;border-radius:999px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px #0f1b2d24;border-color:#0f1b2d2e}.btn.primary{background:linear-gradient(120deg,var(--accent) 0%,#16a34a 70%,#15803d 100%);border:none;color:#f7f9fc;box-shadow:0 12px 28px var(--glow)}.btn.ghost{background:transparent;border-color:#0f1b2d2e}.btn:disabled{opacity:.5;cursor:not-allowed}.login-demo{background:#f0fdf4;padding:1rem;border-radius:16px;border:1px solid rgba(34,197,94,.2);box-shadow:0 14px 30px #0f1b2d14;width:min(420px,100%)}.dashboard{padding:2.5rem 4vw 4rem;position:relative;animation:floatIn .4s ease}.app-shell{display:grid;grid-template-columns:1fr;min-height:100vh}.sidebar{background:#fff;color:var(--ink);padding:2rem 1.5rem;display:flex;flex-direction:column;justify-content:space-between;position:fixed;left:0;top:0;bottom:0;width:260px;transform:translate(-100%);transition:transform .3s ease;z-index:20;box-shadow:10px 0 30px #0f172a14}.sidebar.open{transform:translate(0)}.sidebar-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;font-weight:600;letter-spacing:.02em}.sidebar-brand .brand-logo{width:110px}.sidebar-nav{display:grid;gap:.75rem}.nav-item,.sidebar-logout{border:none;background:transparent;color:inherit;display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;border-radius:14px;cursor:pointer;font-weight:600;text-align:left}.nav-item{background:#f7f9fc;border:1px solid var(--border)}.nav-item.active{background:linear-gradient(120deg,#22c55e,#16a34a);color:#fff;box-shadow:0 10px 24px #22c55e40}.nav-icon{width:22px;height:22px;display:grid;place-items:center;background:#0f172a0f;border-radius:8px}.nav-item.active .nav-icon{background:#fff3}.nav-icon svg{width:16px;height:16px;fill:currentColor}.sidebar-logout{background:#f8fafc;border:1px solid var(--border)}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:15}.sidebar-overlay.show{opacity:1;pointer-events:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;position:sticky;top:1rem;z-index:5;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(15,27,45,.08);padding:.85rem 1rem;border-radius:18px;box-shadow:0 16px 34px #0f1b2d14}.topbar-left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;min-width:0}.topbar-left h2{font-size:clamp(1rem,2.2vw,1.35rem);line-height:1.1}.burger{border:1px solid var(--border);background:#fff;width:42px;height:42px;border-radius:12px;display:inline-flex;flex-direction:column;justify-content:center;gap:5px;padding:0 10px;cursor:pointer}.burger span{display:block;height:2px;background:var(--ink);border-radius:999px}.topbar-right{display:flex;align-items:center;gap:1rem}.user-pill{background:#fff;padding:.4rem .9rem;border-radius:999px;border:1px solid var(--border);display:grid;text-align:right;font-size:.8rem;box-shadow:0 8px 20px #0f1b2d14}.hero{display:flex;justify-content:space-between;align-items:center;margin:2rem 0;gap:1.5rem;animation:floatIn .5s ease}.status-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:2rem}.master-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:1.5rem;display:grid;gap:1rem;box-shadow:0 18px 34px #0f1b2d14}.master-card-header h3{margin:0 0 .25rem}.master-card-header p{margin:0;color:var(--ink-soft);font-size:.9rem}.master-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.master-form{margin-top:.5rem}.master-form-row{display:flex;flex-wrap:wrap;gap:.75rem}.master-form-row label{display:grid;gap:.4rem;font-weight:600;font-size:.9rem}.master-form-row input{flex:1 1 200px;min-width:200px;padding:.65rem .8rem;border-radius:12px;border:1px solid var(--border);font-size:.95rem}.star-rating{display:grid;gap:.45rem;margin-top:.35rem}.star-rating-label{font-weight:600;font-size:.9rem}.star-rating-stars{display:flex;gap:.35rem}.star-rating .star{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--ink-soft);font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}.star-rating .star:hover{border-color:#f59e0b;color:#f59e0b}.star-rating .star.active{border-color:#f59e0b;color:#f59e0b;background:#fff7ed}.master-modal{width:min(900px,96vw);max-height:85vh;overflow-y:auto;overflow-x:hidden}.customer-form{display:grid;gap:1rem}.customer-form label{display:grid;gap:.4rem;font-weight:600;font-size:.9rem}.customer-form input{padding:.65rem .8rem;border-radius:12px;border:1px solid var(--border);font-size:.95rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem}.phone-field{display:grid;grid-template-columns:minmax(90px,110px) minmax(0,1fr);gap:.6rem;align-items:center}.phone-extension{display:inline-flex;align-items:center;gap:.35rem;padding:.65rem .8rem;border-radius:12px;border:1px solid var(--border);background:#fff}.phone-extension span{font-weight:600;color:var(--ink-soft)}.phone-extension input{border:none;outline:none;padding:0;background:transparent;font-size:.95rem;width:100%;min-width:0}.phone-block{display:grid;gap:.75rem}.phone-block-header{display:flex;justify-content:space-between;align-items:center}.phone-list{display:grid;gap:.75rem}.phone-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;background:#0f1b2d0a;padding:.75rem;border-radius:12px}.phone-primary{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;font-size:.85rem}.phone-row input[type=radio]{margin:0}.phone-input{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--border);border-radius:12px;padding:.4rem .7rem}.phone-input span{font-weight:600;color:var(--ink-soft)}.phone-input input{border:none;outline:none;padding:.3rem 0;font-size:.95rem;width:100%;min-width:0}@media (max-width: 640px){.phone-row{grid-template-columns:1fr;justify-items:stretch}}.master-tabs{margin-top:1.5rem;display:grid;gap:1.25rem}.master-tab-list{display:inline-flex;gap:.75rem;background:#f1f5f9;padding:.4rem;border-radius:999px;width:fit-content}.master-tab{border:none;background:transparent;padding:.5rem 1.2rem;border-radius:999px;font-weight:600;cursor:pointer;color:var(--ink)}.master-tab.active{background:linear-gradient(120deg,var(--accent) 0%,var(--accent-2) 100%);color:#fff;box-shadow:0 8px 18px #22c55e40}.master-list{display:grid;gap:.85rem}.master-table-wrap{width:100%;overflow-x:auto}.master-table{width:100%;border-collapse:collapse;font-size:.95rem}.master-table th,.master-table td{text-align:left;padding:.85rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}.master-table tbody tr:hover{background:#f6f9fd}.master-table th{color:var(--ink-soft);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.master-table td small{display:block;color:var(--ink-soft);margin-top:.25rem}.master-table-actions{display:flex;flex-wrap:wrap;gap:.5rem}.master-table-actions .btn{padding:.35rem .7rem}.master-consent{padding:1rem 1.25rem 1.5rem;display:grid;gap:.75rem}.master-consent-textarea{width:100%;border-radius:14px;border:1px solid var(--border);padding:.85rem 1rem;font-size:.95rem;resize:vertical;min-height:160px;background:#f8fafc}.master-consent-message{color:#0f172a;font-weight:600;font-size:.85rem}.master-table .btn:disabled{opacity:.5;cursor:not-allowed}.tab-footer{margin-top:2.5rem;padding:1.5rem 1.75rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:.75rem;font-size:.95rem;color:var(--ink-soft)}.tab-footer span{line-height:1}.tab-footer img{height:28px;width:auto;object-fit:contain}.master-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:14px;background:#0f1b2d0a}.master-row small{display:block;margin-top:.25rem;color:var(--ink-soft);font-size:.8rem}.empty-state{background:#fff;border-radius:18px;border:1px dashed var(--border);padding:2rem;margin-top:1.5rem;box-shadow:0 16px 30px #0f1b2d0f}.empty-state h2{margin:0 0 .5rem}.empty-state p{margin:0;color:var(--ink-soft)}.users{display:grid;gap:1.5rem;margin-top:1.5rem}.users-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.users-card{background:#fff;border-radius:18px;border:1px solid var(--border);padding:1.5rem;box-shadow:0 18px 32px #0f1b2d1a}.role-grid{margin-top:.5rem;display:grid;gap:.6rem}.role-grid-title{font-size:.8rem;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase}.role-option{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-radius:12px;border:1px solid rgba(15,27,45,.08);background:#0f1b2d0a;font-size:.9rem;color:var(--ink)}.role-option input{margin:0}.status-card{background:linear-gradient(120deg,#fff,#f3f7fb);border-radius:16px;padding:.9rem 1.1rem;border:1px solid var(--border);border-left:4px solid var(--accent);box-shadow:0 10px 24px #0f1b2d1a;display:grid;gap:.35rem;text-transform:capitalize;position:relative;overflow:hidden;color:var(--ink)}.status-card:after{content:none}.status-card strong{font-size:1.4rem;color:var(--ink)}.actions{display:flex;gap:.75rem;flex-wrap:wrap}.alert{background:#fff7ed;color:#9a3412;padding:.6rem .9rem;border-radius:10px;border:1px solid rgba(251,146,60,.25);font-size:.9rem}.alert.wide{margin:1rem 0}.ticket-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.ticket-table{background:#ffffffd9;border-radius:18px;border:1px solid var(--border);flex:1;overflow:auto;box-shadow:0 20px 40px #0f1b2d14}.ticket-table.completed-table{max-height:520px;overflow:auto}.ticket-method{border-radius:18px;border:1px solid var(--border);background:#fff;overflow:hidden}.ticket-method-header{background:linear-gradient(90deg,var(--muted) 0%,#f3f6fb 100%);padding:.75rem 1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.ticket-method-title{white-space:nowrap}.filter-toggle{font-size:.75rem;padding:.35rem .75rem}.ticket-method-body{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;min-height:400px;height:clamp(400px,68vh,700px);overflow:hidden}.ticket-method-body.solo{grid-template-columns:1fr}.method-list{border-bottom:1px solid var(--border);background:#f6f8fb;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;flex-wrap:wrap}.method-option{display:inline-flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.6rem .9rem;border:none;background:linear-gradient(120deg,var(--accent) 0%,#16a34a 70%,#15803d 100%);text-transform:capitalize;font-weight:600;font-size:.9rem;cursor:pointer;border-radius:999px;color:#f7f9fc;box-shadow:inset 0 0 0 1px #ffffff40,0 8px 16px #22c55e38;transition:transform .25s ease,background .25s ease,box-shadow .25s ease;min-width:140px;flex:1 1 160px}.method-option strong{font-size:.9rem;color:#ffffffe6}.method-option.active{box-shadow:inset 0 0 0 2px #ffffffb3,0 14px 28px #22c55e52;transform:translateY(-2px)}.method-option:not(.active):hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #fff6,0 10px 20px #22c55e3d}.method-option:not(.active){color:#f7f9fc}.method-panel{display:flex;flex-direction:column;min-height:0;padding:1rem;background:#fff;animation:panelFade .25s ease}@keyframes panelFade{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.ticket-row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1rem;padding:1rem 1.2rem;align-items:start;border-bottom:1px solid var(--border);background:#ffffffd9;transition:background .2s ease}.ticket-row:not(.header):not(.filters){align-items:center}.ticket-row.compact{grid-template-columns:repeat(6,minmax(0,1fr))}.ticket-row:not(.header):not(.filters):hover{background:#f6f9fd}.ticket-row>*{min-width:0}.ticket-cell{min-width:0}.ticket-actions-row{display:flex;align-items:center;gap:.5rem}.ticket-column-header{font-size:.8rem;font-weight:600;color:var(--navy);display:flex;align-items:center}.ticket-action-btn{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--navy);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.ticket-action-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.ticket-action-btn:hover{transform:translateY(-1px);border-color:#3b82f666;box-shadow:0 10px 18px #0f172a1a}.ticket-label{display:none;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:.2rem}.ticket-row.header{background:#f8fafc;color:var(--navy);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.ticket-row.filters{background:#f2f6fb;align-items:center}.ticket-row.filters input,.ticket-row.filters select{padding:.4rem .5rem;font-size:.8rem}.ticket-row.filters .btn{justify-self:start}.sort-btn{background:transparent;border:none;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;padding:0;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.sort-btn.active{color:var(--accent)}.sort-indicator{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;opacity:.8}.ticket-row:last-child{border-bottom:none}.row-sub{font-size:.8rem;color:var(--ink-soft)}.mono{font-family:IBM Plex Mono,monospace;font-size:.8rem}.ticket-title{font-size:1.05rem;font-weight:400}.ticket-link{border:none;background:none;color:var(--ink);text-decoration:underline;cursor:pointer;padding:0;max-width:100%}.ticket-link:hover{color:var(--accent-2)}.ticket-id-wrap{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap;max-width:100%}.ticket-activity-badges{display:inline-flex;align-items:center;gap:.35rem;margin-right:.4rem;flex-wrap:wrap}.ticket-activity-icon{position:relative;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#f1f5f9;color:var(--navy);border:1px solid rgba(15,27,45,.08)}.ticket-activity-icon svg{width:14px;height:14px;fill:currentColor}.ticket-activity-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#0f172a;color:#fff;font-size:.65rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 16px #0f172a40}.comment-unread-badge,.image-count-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .45rem;border-radius:999px;font-weight:700;font-size:.7rem}.comment-unread-badge{background:#0f172a;color:#fff;box-shadow:0 8px 16px #0f172a40}.image-count-badge{background:#e2e8f0;color:#0f172a;box-shadow:0 8px 16px #94a3b840}.comment-unread-badge svg,.image-count-badge svg{width:12px;height:12px;fill:currentColor}.comment-unread-dot{width:8px;height:8px;border-radius:999px;background:#ef4444;display:inline-block}.nowrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.highlight{background:#dcfce7;color:inherit;padding:0 .1em;border-radius:6px}.has-tooltip{position:relative;overflow:visible;display:block}.has-tooltip:before,.has-tooltip:after{opacity:0;pointer-events:none;position:absolute;left:50%;transform:translate(-50%,-8px);transition:opacity .15s ease,transform .15s ease}.has-tooltip:before{content:"";bottom:calc(100% + 2px);border-width:6px;border-style:solid;border-color:transparent transparent var(--navy) transparent;transform:translate(-50%)}.has-tooltip:after{content:attr(data-tooltip);bottom:calc(100% + 6px);background:var(--navy);color:#fff;padding:.55rem .85rem;border-radius:10px;font-size:.9rem;line-height:1.2;white-space:nowrap;box-shadow:0 12px 24px #0f1b2d59;max-width:280px;text-align:center}.has-tooltip:hover:before{opacity:1;transform:translate(-50%,-6px)}.has-tooltip:hover:after{opacity:1;transform:translate(-50%,-12px)}.capitalize{text-transform:capitalize}.columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.column{background:#fff9;border-radius:18px;padding:1rem;min-height:220px;border:1px solid var(--border)}.column h3{text-transform:capitalize;margin-bottom:1rem}.ticket{background:var(--card);border-radius:18px;padding:1.2rem;box-shadow:0 15px 40px var(--shadow);display:grid;gap:1rem;min-width:0}.ticket-head{display:flex;justify-content:space-between;gap:1rem}.ticket-head-actions{display:grid;justify-items:end;gap:.75rem}.ticket-edit-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.ticket-edit-label{display:grid;gap:.35rem;margin-top:.6rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.ticket-edit-field{width:100%;padding:.6rem .75rem;border-radius:12px;border:1px solid var(--border);font-size:.95rem;color:var(--ink);background:#fff}.ticket-head p{margin:.3rem 0 0;color:var(--ink-soft);line-height:1.4}.ticket-id{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);word-break:break-all}.ticket-meta{display:grid;gap:.6rem;font-size:.85rem;color:var(--ink-soft);word-break:break-word}.ticket-meta>div{display:grid;grid-template-columns:minmax(110px,.75fr) 1fr;gap:.75rem;align-items:center}.ticket-meta span{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.ticket-meta strong{color:var(--ink);font-weight:600}.ticket-meta .engineer-select-field{width:100%}.status-edit{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.35rem}.status-edit select{min-width:160px}.badge{padding:.35rem .6rem;background:var(--navy);color:#fff;border-radius:999px;font-size:.7rem;height:fit-content}.status-select select{margin-top:.35rem}.comments-section{display:grid;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border);max-height:320px;margin-bottom:.75rem}.comments-section h4{margin:0;font-size:.95rem;color:var(--navy)}.modal.ticket-detail .comments-section{padding-bottom:4rem}.comment-thread{display:flex;flex-direction:column;gap:.6rem;max-height:220px;overflow-y:auto;padding-right:.4rem}.comment-thread-wrap{position:relative}.comment-lock{margin:0;font-size:.85rem;color:var(--ink-soft)}.comment-new-indicator{position:absolute;right:.4rem;bottom:.4rem;border:none;background:var(--navy);color:#fff;font-size:.75rem;font-weight:600;padding:.35rem .6rem;border-radius:999px;cursor:pointer;box-shadow:0 10px 18px #0f172a40;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.comment-new-indicator:hover{transform:translateY(-1px);box-shadow:0 14px 24px #0f172a4d}.comment-bubble{max-width:70%;padding:.65rem .8rem;border-radius:14px;background:#f1f4f9;box-shadow:0 8px 18px #0f172a0f}.comment-bubble.mine{align-self:flex-end;background:#e1f4ea;text-align:right}.comment-bubble.theirs{align-self:flex-start}.comment-bubble.status-update{background:#e8efff;color:#1e3a8a;font-weight:700}.comment-text{color:var(--ink);font-size:.9rem;line-height:1.4}.comment-meta{margin-top:.35rem;display:flex;gap:.5rem;align-items:center;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.comment-attachment{margin-top:.25rem;display:inline-flex;align-items:center;border:none;background:transparent;color:#111827;width:22px;height:22px;padding:0;border-radius:6px;cursor:pointer}.comment-attachment svg{width:22px;height:22px;fill:currentColor}.comment-box{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end}.comment-input-wrap{flex:1;min-width:200px;display:flex;align-items:flex-end;gap:.5rem}.comment-box input{flex:1;min-width:160px}.comment-box textarea{flex:1;min-width:160px;resize:vertical}.status-comment{margin-top:1rem;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.status-comment label{display:flex;flex-direction:column;gap:.35rem}.status-comment textarea{resize:vertical;min-height:80px}.status-comment .required{color:#dc2626;font-weight:600}.comment-image-menu{position:relative}.comment-image-trigger{border:none;background:#0f172a;color:#fff;width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 20px #0f172a38;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.comment-image-trigger svg{width:18px;height:18px;fill:currentColor}.reports{display:flex;flex-direction:column;gap:1.75rem}.report-builder{display:grid;grid-template-columns:1fr;gap:1.25rem}.report-sidebar{background:#0f172a;color:#e2e8f0;border-radius:18px;padding:1rem;box-shadow:0 16px 40px #0f172a40;position:sticky;top:1.5rem;align-self:start}.report-sidebar-header h3{margin:0 0 .75rem;font-size:1rem;color:#f8fafc}.report-search{display:flex;align-items:center;gap:.5rem;background:#ffffff14;border-radius:10px;padding:.4rem .6rem}.report-search input{background:transparent;border:none;color:#f8fafc;width:100%;font-size:.85rem}.report-search input::placeholder{color:#f8fafc99}.report-search .search-icon svg{width:16px;height:16px;fill:#f8fafcb3}.report-field-group{margin-top:1rem}.field-group-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#f8fafc99;margin-bottom:.75rem}.field-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;padding:.35rem 0}.field-item input{accent-color:#60a5fa}.report-main{display:flex;flex-direction:column;gap:1.25rem}.report-main-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.report-action-bar{display:flex;gap:.5rem;flex-wrap:wrap}.report-tabs{display:flex;gap:.6rem;flex-wrap:wrap;padding:.35rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;width:fit-content}.report-tab{border:1px solid transparent;background:transparent;color:#1e293b;border-radius:999px;padding:.45rem 1.1rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.report-tab.active{background:#111827;color:#fff;border-color:#111827;box-shadow:0 8px 18px #0f172a2e}.report-config{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:.75rem 1rem 1rem;box-shadow:0 12px 26px #94a3b833}.report-config-tabs{display:flex;gap:.5rem;margin-bottom:.75rem}.report-config-tabs button{border:1px solid #e5e7eb;background:#f8fafc;color:#334155;border-radius:10px;padding:.35rem .8rem;font-size:.85rem;font-weight:600}.report-config-tabs button.active{background:#111827;color:#fff;border-color:#111827}.report-config-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1rem}.config-row{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#475569;font-weight:600}.config-pill{background:#e2e8f0;border-radius:8px;padding:.35rem .6rem;font-size:.85rem;color:#0f172a}.config-placeholder{background:#f8fafc;border:1px dashed #cbd5f5;border-radius:8px;padding:.35rem .6rem;color:#94a3b8;font-size:.8rem}.report-engineer-select{margin:18px 0 8px}.report-engineer-select label{display:grid;gap:8px;font-size:.9rem;color:#1f2937;font-weight:600}.report-engineer-select select{padding:10px 12px;border-radius:12px;border:1px solid #d1d5db;background:#fff;font-size:.95rem;color:#111827}.report-filter-panel{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 12px 26px #94a3b833;padding:1rem 1.25rem 1.25rem}.report-filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.report-filter-header h4{margin:0;font-size:1rem;color:#0f172a}.report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem 1.25rem;align-items:end;padding:0;border-radius:0;background:transparent;border:none;box-shadow:none}.report-filters label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#334155;font-weight:600}.report-multiselect select{min-height:140px}.report-filter-actions{display:flex;gap:.5rem;flex-wrap:wrap}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.1rem}.report-card{padding:1.1rem 1.35rem;border-radius:18px;background:linear-gradient(135deg,#0f172a,#111827 60%,#1f2937);color:#f8fafc;box-shadow:0 18px 36px #0f172a33;border:1px solid rgba(148,163,184,.2)}.report-card span{display:block;font-size:.85rem;opacity:.7;letter-spacing:.02em}.report-card strong{font-size:1.9rem}.report-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.report-chart{padding:1.1rem 1.4rem 1.4rem;border-radius:20px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 14px 28px #94a3b833}.report-chart h4{margin:0 0 1rem;font-size:1.05rem;color:#0f172a}.report-bars{display:flex;flex-direction:column;gap:.8rem}.report-bar{display:grid;grid-template-columns:minmax(120px,1.2fr) 3fr minmax(48px,auto);gap:.85rem;align-items:center;font-size:.9rem}.report-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:1rem;align-items:end;min-height:220px;padding-bottom:.5rem}.report-columns.grouped{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.report-column{display:flex;flex-direction:column;align-items:center;gap:.4rem}.column-group{display:flex;flex-direction:column;align-items:center;gap:.35rem}.column-stack{display:flex;align-items:flex-end;justify-content:center;gap:.35rem}.column-bar{width:100%;max-width:48px;height:180px;background:#f1f5f9;border-radius:10px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.report-columns.grouped .column-bar{height:160px;width:28px;min-width:28px}.column-fill{display:block;width:100%;border-radius:10px 10px 0 0;transition:height .3s ease}.column-label{font-size:.8rem;color:#475569;text-align:center}.column-value{font-size:.85rem;font-weight:600;color:#0f172a}.report-bar.clickable{cursor:pointer;border:none;background:transparent;padding:0;text-align:left}.report-bar.clickable:hover .bar-track{box-shadow:inset 0 0 0 1px #3b82f666}.report-bar.selected .bar-track{box-shadow:inset 0 0 0 2px #3b82f6b3}.report-column.clickable{cursor:pointer;border:none;background:transparent;padding:0}.report-column.clickable .column-bar{box-shadow:inset 0 0 0 1px #3b82f633}.report-column.clickable:hover .column-bar{box-shadow:inset 0 0 0 2px #3b82f666}.report-column.selected .column-bar{box-shadow:inset 0 0 0 2px #3b82f6b3}.convenience-report{display:flex;flex-direction:column;gap:1rem}.convenience-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;align-items:end;padding:1rem 1.25rem;border-radius:18px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 12px 26px #94a3b833}.convenience-filters label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#334155;font-weight:600}.convenience-table-wrap{overflow-x:auto;border-radius:18px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 12px 26px #94a3b833}.convenience-table{width:100%;border-collapse:collapse;min-width:720px}.convenience-table th,.convenience-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb;font-size:.9rem}.convenience-table th{background:#f8fafc;color:#0f172a;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.convenience-table tbody tr:hover{background:#f9fafb}.convenience-actions{display:flex;gap:.5rem;flex-wrap:wrap}.convenience-actions .btn{padding:.35rem .85rem;font-size:.8rem}.service-report-form{max-height:min(68vh,760px);overflow:auto;padding-right:4px}.service-report-checkbox-block{display:grid;gap:.55rem}.service-report-label{font-size:.9rem;font-weight:600;color:#0f172a}.service-report-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem .75rem}.service-report-option{display:inline-flex;align-items:center;gap:.45rem;font-size:.88rem}.service-report-table-wrap{border:none;box-shadow:none;border-radius:12px}.service-report-parts-section{display:grid;gap:.6rem;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;background:#f8fafc}.service-report-parts-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.service-report-parts-header h4{margin:0;font-size:.95rem;color:#0f172a}.service-report-parts-row{display:grid;grid-template-columns:minmax(140px,1.4fr) minmax(70px,.5fr) minmax(140px,1fr) auto;gap:.55rem}.conveyance-row-action-btn{min-width:96px;justify-content:center}.conveyance-row-action-stack{display:flex;flex-direction:column;gap:.45rem}.conveyance-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,2.1fr);gap:1rem}.conveyance-layout.reviewer{grid-template-columns:1fr}.conveyance-list-card,.conveyance-form-card{border-radius:18px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 12px 26px #94a3b833;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.9rem;max-height:calc(100vh - 220px);overflow-y:auto}.conveyance-list-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.conveyance-list-header h3{margin:0;font-size:1rem;color:#0f172a}.conveyance-table-wrap{overflow-x:auto}.selected-row{background:#eff6ff}.conveyance-status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .65rem;font-size:.78rem;font-weight:700;background:#e2e8f0;color:#0f172a}.conveyance-status-chip.is-draft{background:#e2e8f0;color:#0f172a}.conveyance-status-chip.is-submitted{background:#dbeafe;color:#1e3a8a}.conveyance-status-chip.is-approved{background:#dcfce7;color:#166534}.conveyance-status-chip.is-rejected{background:#fee2e2;color:#991b1b}.conveyance-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.conveyance-meta-grid label,.conveyance-notes{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#334155;font-weight:600}.conveyance-totals{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;color:#0f172a;font-size:.85rem;font-weight:700}.conveyance-da-note{font-size:.8rem;color:#475569;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:.55rem .7rem}.conveyance-review-box{display:flex;flex-direction:column;gap:.6rem;border-top:1px solid #e5e7eb;padding-top:.8rem}.conveyance-review-box label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#334155;font-weight:600}@media (max-width: 1024px){.report-builder,.conveyance-layout,.service-report-parts-row{grid-template-columns:1fr}.conveyance-form-card,.conveyance-list-card{max-height:calc(100vh - 180px);overflow-y:auto}.modal.conveyance-modal{max-height:95vh;overflow-y:auto}}.bar-label{color:#1e293b;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{background:#e2e8f0;border-radius:999px;height:12px;overflow:hidden}.report-bar.stacked .bar-track{height:16px}.bar-fill{height:100%;background:linear-gradient(90deg,#0ea5e9,#6366f1);border-radius:999px;transition:width .3s ease}.bar-stack{display:flex;height:100%}.bar-segment{height:100%}.report-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.1rem;font-size:.8rem;color:#475569}.legend-item{display:inline-flex;align-items:center;gap:.35rem}.legend-swatch{width:12px;height:12px;border-radius:50%;display:inline-block}.status-new{background:#38bdf8}.status-assigned{background:#f59e0b}.status-in-progress{background:#6366f1}.status-on-hold{background:#ef4444}.status-completed{background:#22c55e}.status-withdrawn{background:#94a3b8}.bar-value{text-align:right;color:#475569;font-weight:600}.comment-image-trigger:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.comment-image-menu-panel{position:absolute;right:0;bottom:calc(100% + .4rem);display:grid;gap:.35rem;background:#fff;border:1px solid var(--border);box-shadow:0 16px 32px #0f172a2e;border-radius:12px;padding:.5rem;z-index:10;min-width:150px}.comment-image-menu-panel button{border:none;background:#f8fafc;color:var(--navy);font-weight:600;padding:.45rem .6rem;border-radius:8px;cursor:pointer;text-align:left}.comment-image-menu-panel button:hover{background:#e2e8f0}.comment-image-input{display:none}.comment-image-preview{width:100%;display:flex;gap:.5rem;flex-wrap:wrap}.comment-image-thumb{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden;box-shadow:0 8px 18px #0f172a26}.comment-image-thumb img{width:100%;height:100%;object-fit:cover}.comment-image-thumb button{position:absolute;top:4px;right:4px;border:none;background:#0f172ab3;color:#fff;width:20px;height:20px;border-radius:999px;cursor:pointer;font-size:.9rem;line-height:1}.comment-image-error{width:100%;margin:0;font-size:.8rem;color:#b91c1c}.modal-backdrop.camera-backdrop{padding:0;background:#020617eb}.modal.camera-modal{width:100vw;max-width:100vw;height:100vh;border-radius:0;padding:0;background:#000;display:flex;flex-direction:column;box-shadow:none;position:relative}.camera-close-btn{position:absolute;top:12px;right:12px;z-index:2}.camera-modal h3{margin:0;padding:1rem 1rem .5rem;color:#fff}.camera-preview{width:100%;flex:1;background:#0f172a;border-radius:0;overflow:hidden}.camera-preview video{width:100%;height:100%;object-fit:contain;display:block}.camera-actions{margin-top:0;padding:.75rem 1rem 1rem;display:flex;gap:.5rem;justify-content:flex-end}.camera-error{margin:0;padding:.5rem 1rem 0;color:#b91c1c;font-size:.85rem}.image-viewer-modal{max-width:980px}.image-viewer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-top:.75rem}.image-viewer-grid figure{margin:0;display:grid;gap:.35rem}.image-viewer-thumb{border:none;padding:0;background:transparent;cursor:pointer}.image-viewer-thumb img{width:100%;border-radius:12px;box-shadow:0 10px 20px #0f172a26;display:block}.image-viewer-grid figcaption{font-size:.75rem;color:var(--ink-soft)}.image-viewer-actions{margin-top:.75rem;display:flex;justify-content:flex-end}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab3;display:flex;align-items:center;justify-content:center;z-index:50;padding:2rem}.image-lightbox img{max-width:min(100%,980px);max-height:min(100%,80vh);border-radius:12px;box-shadow:0 24px 48px #0f172a59;background:#fff}.image-lightbox-close{position:absolute;top:1.25rem;right:1.25rem;border:none;background:#fff;color:#111827;width:30px;height:30px;border-radius:999px;font-size:1.2rem;line-height:1;cursor:pointer;box-shadow:0 10px 20px #0f172a40}.comment-box .btn{white-space:nowrap}.comment-send{border:none;background:var(--accent);color:#fff;width:42px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;align-self:flex-end;box-shadow:0 12px 24px var(--glow);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.comment-send svg{width:18px;height:18px;fill:currentColor}.comment-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 28px #22c55e47}.comment-send:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.modal.ticket-detail .modal-actions{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.loading{padding:2rem 0;font-weight:600}.empty{font-size:.85rem;color:var(--ink-soft)}.muted{color:var(--ink-soft)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;padding:1.5rem;z-index:10}.modal{background:#fff;padding:1.5rem;border-radius:20px;width:min(420px,90vw);box-shadow:0 30px 70px #00000040}.modal.create-ticket-modal{width:min(720px,96vw);max-height:90vh;overflow-y:auto}.modal.conveyance-modal{width:min(1240px,98vw);max-height:92vh;overflow-y:auto}.modal-backdrop.conveyance-backdrop{padding:1rem}.modal-backdrop.conveyance-backdrop .modal.conveyance-modal{width:min(1400px,96vw);max-width:1400px;height:auto;max-height:94vh;border-radius:20px;box-shadow:0 30px 70px #00000040;padding:1.25rem}.modal.ticket-detail{width:min(640px,92vw);max-height:85vh;overflow-y:auto;padding-bottom:0;position:relative}.modal.consent-modal{width:min(560px,92vw)}.consent-body{margin:.75rem 0 1rem;padding:.85rem 1rem;background:#f8fafc;border-radius:14px;border:1px solid var(--border);white-space:pre-wrap;max-height:40vh;overflow-y:auto}.modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:999px;border:none;background:#f3f6fb;color:var(--ink);font-size:1.2rem;line-height:1;display:grid;place-items:center;cursor:pointer}.modal-close:hover{background:#e8edf6}.modal form{max-height:70vh;overflow-y:auto;padding-right:.25rem}.modal.create-ticket-modal form{max-height:none;overflow:visible}.modal-actions{display:flex;justify-content:center;gap:.75rem;margin-top:1.25rem}@media (max-width: 768px){.login{grid-template-columns:1fr}.login-side{order:-1;min-height:300px}.login-panel{padding:2rem 1.5rem}.login-header{flex-direction:column;align-items:flex-start;gap:1rem}.brand-logo,.topbar-left .brand-logo{width:160px}.hero{flex-direction:column;align-items:flex-start}.ticket-method-body{grid-template-columns:1fr;min-height:auto;max-height:none;height:auto}.method-list{flex-wrap:nowrap;overflow-x:auto;border-bottom:1px solid var(--border)}.method-option{flex:0 0 auto}.ticket-row,.ticket-row.compact{grid-template-columns:1fr}.ticket-row:not(.header):not(.filters){margin-bottom:1rem;border-radius:18px;border:1px solid var(--border);box-shadow:0 12px 28px #0f1b2d14}.ticket-row:not(.header):not(.filters):last-child{margin-bottom:0}.ticket-row:not(.header):not(.filters){border-bottom:none;background:#fff}.ticket-label{display:block}.ticket-row.header{display:none}.ticket-filters{grid-template-columns:1fr}.conveyance-entry-table{width:100%;min-width:0;border-collapse:separate}.conveyance-table-wrap{overflow-x:visible}.conveyance-entry-table thead{display:none}.conveyance-entry-table tbody,.conveyance-entry-table tr,.conveyance-entry-table td{display:block;width:100%}.conveyance-entry-table tbody tr{margin-bottom:.8rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.conveyance-entry-table tbody td{display:flex;flex-direction:column;gap:.28rem;padding:0;border:0;margin-bottom:.55rem}.conveyance-entry-table tbody td:last-child{margin-bottom:0}.conveyance-entry-table tbody td:before{content:attr(data-label);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#475569;font-weight:700}.conveyance-entry-table input,.conveyance-entry-table textarea,.conveyance-entry-table select{display:block;width:100%}.conveyance-entry-table .conveyance-row-action-stack{flex-direction:column;gap:.5rem;justify-content:stretch}}@media (max-width: 1024px){.ticket-row,.ticket-row.compact{grid-template-columns:1fr}.ticket-row:not(.header):not(.filters){margin-bottom:1rem;border-radius:18px;border:1px solid var(--border);box-shadow:0 12px 28px #0f1b2d14;border-bottom:none;background:#fff}.ticket-row:not(.header):not(.filters):last-child{margin-bottom:0}.ticket-label{display:block}.ticket-row.header,.ticket-row.filters{display:none}}@media (max-width: 640px){.login{padding:2rem 1rem}.login-panel{padding:1.75rem 1.25rem;border-radius:22px}.login-header,.login-sub,.login-form,.login-demo{width:100%}.dashboard{padding:1.75rem 1rem 3rem}.topbar{flex-direction:column;align-items:flex-start;position:sticky;top:.75rem;gap:.75rem}.topbar-right{width:100%;justify-content:space-between;flex-wrap:wrap;gap:.6rem}.user-pill{text-align:left;width:100%}.status-bar{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.users-header,.master-card-header{flex-direction:column;align-items:flex-start}.master-tab-list{width:100%;overflow-x:auto;padding:.4rem .6rem}.master-tab{white-space:nowrap}.tab-footer{flex-direction:column;gap:.4rem;text-align:center}.tab-footer img{height:72px}.conveyance-form-card,.conveyance-list-card{max-height:calc(100vh - 150px);overflow-y:auto}.modal.conveyance-modal{width:calc(100vw - 1rem);max-height:96vh;overflow-y:auto;padding:1rem}.modal-backdrop.conveyance-backdrop{padding:.5rem}.modal-backdrop.conveyance-backdrop .modal.conveyance-modal{width:calc(100vw - 1rem);max-width:none;max-height:96vh;border-radius:16px;padding:1rem}}@media (max-width: 480px){.login-panel{padding:1.5rem 1rem}.brand-logo,.topbar-left .brand-logo{width:140px}.hero{margin:1.5rem 0}.ticket{padding:1rem}.modal{padding:1.25rem}.modal.ticket-detail{width:min(520px,92vw)}.comment-bubble{max-width:90%}}.ticket-filters{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.75rem;padding:.75rem .75rem .5rem;background:#f7f9fc;border:1px solid var(--border);border-radius:14px;margin-bottom:.75rem}.ticket-filters input,.ticket-filters select{width:100%}.filter-spacer{min-height:1px}.ticket-action-text{padding:.5rem .85rem;font-size:.82rem;border-radius:999px;border:1px solid var(--border);background:#fff;white-space:nowrap;min-width:120px;text-align:center}
