:root{--brand-primary:#0060a8;--brand-primary-text:#fff;--brand-accent:#f8b800;--ink:#13263a;--bg:#f2f5f8;--surface:#fff;--text:var(--ink);--text-dim:#586a7d;--line:#d8e0e8;--line-soft:#e8edf2;--danger:#b4321f;--ok:#1f7a4a;--radius-sm:6px;--radius:10px;--shadow:0 1px 2px #13263a0f;--font:"Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Roboto, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font:15px/1.55 var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}button,input,select,textarea{font:inherit}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);color:var(--ink);border-bottom:3px solid var(--brand-accent);grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav user";align-items:end;gap:8px 24px;padding:10px 20px 0;display:grid}.topbar .brand{grid-area:brand;align-items:center;gap:12px;padding-bottom:10px;text-decoration:none;display:flex}.topbar .brand img{width:auto;height:46px;display:block}.topbar .brand .mark{border-radius:var(--radius-sm);background:var(--brand-primary);width:40px;height:40px}.topbar .brand .product{border-left:1px solid var(--line);padding-left:12px;line-height:1.2;display:grid}.topbar .brand .product strong{color:var(--brand-primary);letter-spacing:-.1px;font-size:16px}.topbar .brand .product span{color:var(--text-dim);font-size:12.5px}.topbar nav{scrollbar-width:none;grid-area:nav;align-self:end;gap:2px;display:flex;overflow-x:auto}.topbar nav a{color:var(--text-dim);white-space:nowrap;border-bottom:3px solid #0000;margin-bottom:-3px;padding:10px 12px 12px;font-size:14.5px;font-weight:600;text-decoration:none}.topbar nav a:hover{color:var(--brand-primary)}.topbar nav a.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.topbar .user{color:var(--text-dim);grid-area:user;align-items:center;gap:12px;padding-bottom:12px;font-size:13.5px;display:flex}.topbar .user .who{color:var(--ink);text-align:right;font-weight:600;line-height:1.25;display:grid}.topbar .user .who small{color:var(--text-dim);font-size:12px;font-weight:400}.topbar select{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);width:auto;padding:5px 8px}.topbar button.link{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;background:0 0;padding:5px 10px;font-size:13px}.topbar button.link:hover{border-color:var(--brand-primary);color:var(--brand-primary)}main.content{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:28px 20px 48px}.footer{border-top:1px solid var(--line);background:var(--surface);color:var(--text-dim);font-size:13px}.footer .inner{flex-wrap:wrap;justify-content:space-between;gap:6px 24px;max-width:1040px;margin:0 auto;padding:16px 20px;display:flex}.footer a{color:var(--brand-primary);text-decoration:none}.footer a:hover{text-decoration:underline}h1{letter-spacing:-.4px;color:var(--ink);margin:0 0 16px;font-size:26px;font-weight:700;line-height:1.2}h2{color:var(--ink);margin:26px 0 10px;font-size:17px}p.dim,span.dim,.dim{color:var(--text-dim)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{justify-content:space-between}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:0;display:grid;overflow:hidden}.list>.card{box-shadow:none;border:0;border-top:1px solid var(--line-soft);border-radius:0}.list>.card:first-child{border-top:0}.ticket-item{--status:var(--line);padding:14px 18px 14px 20px;text-decoration:none;display:block;position:relative}.ticket-item:before{content:"";background:var(--status);width:4px;position:absolute;top:0;bottom:0;left:0}.ticket-item:hover{background:#f7fafd}.ticket-item:hover .title{color:var(--brand-primary)}.ticket-item .title{font-weight:600}.ticket-item .meta{color:var(--text-dim);flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:13px;display:flex}.ticket-item:has(.status-New){--status:#3b6fd8}.ticket-item:has(.status-InReview){--status:#7a5bd0}.ticket-item:has(.status-Inquiry){--status:#d4485d}.ticket-item:has(.status-ApprovalRequired){--status:var(--brand-accent)}.ticket-item:has(.status-InProgress){--status:#e0892b}.ticket-item:has(.status-Commissioned){--status:#2b8ac4}.ticket-item:has(.status-Done){--status:var(--ok)}.badge{border:1px solid var(--line);color:var(--ink);white-space:nowrap;background:#f1f4f7;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.badge.status-New{color:#234c9e;background:#eaf0fc;border-color:#c3d3f4}.badge.status-InReview{color:#553a9e;background:#f1ecfb;border-color:#d8ccf3}.badge.status-InProgress{color:#8a4f0d;background:#fdf1e3;border-color:#f4cf9f}.badge.status-Inquiry{color:#9d2236;background:#fcebee;border-color:#f2c2ca}.badge.status-ApprovalRequired{color:#6e5200;background:#fff6d6;border-color:#f6dc80}.badge.status-Commissioned{color:#1b5f87;background:#e6f3fa;border-color:#b6dbef}.badge.status-Done{color:var(--ok);background:#e6f4ec;border-color:#b0dcc2}.badge.status-Closed{color:var(--text-dim);background:#f1f1f1;border-color:#d4d4d4}.badge.status-NotResponsible{color:var(--text-dim);background:#f3f4f6;border-color:#d1d5db}.badge.prio-High{color:var(--danger);background:#fcebe8;border-color:#f2bcb2}.badge.internal{color:#6e5200;background:#fff6d6;border-color:#f6dc80}form.stack,.stack{gap:14px;display:grid}label{color:var(--ink);gap:5px;font-size:13.5px;font-weight:600;display:grid}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);width:100%;padding:10px 12px;font-weight:400}input:hover,select:hover,textarea:hover{border-color:#b9c6d3}textarea{resize:vertical;min-height:110px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--brand-accent) 70%, transparent);outline-offset:1px;border-color:var(--brand-primary)}.field-error{color:var(--danger);font-size:13px;font-weight:400}label .dim,label .form-error{font-weight:400}.form-error{color:var(--danger);border-radius:var(--radius-sm);background:#fcebe8;border:1px solid #f2bcb2;padding:10px 12px}.checkbox{color:var(--text);align-items:center;gap:8px;font-weight:400;display:flex}.checkbox input{width:auto}.btn{border-radius:var(--radius-sm);border:1px solid var(--brand-primary);background:var(--brand-primary);color:var(--brand-primary-text);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.1)}.btn:disabled{opacity:.55;cursor:default;filter:none}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.secondary:hover{border-color:var(--brand-primary);color:var(--brand-primary);filter:none}.btn.accent{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--ink)}.btn.small{padding:6px 11px;font-size:13.5px}.actions{flex-wrap:wrap;gap:8px;display:flex}.comment{border-left:3px solid var(--line);background:var(--surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:10px 14px}.comment.internal{border-left-color:var(--brand-accent);background:#fffbea}.comment .who{color:var(--text-dim);align-items:center;gap:8px;margin-bottom:4px;font-size:13px;display:flex}.attachments{flex-wrap:wrap;gap:10px;display:flex}.attachment{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:140px;color:inherit;text-decoration:none;overflow:hidden}.attachment .thumb{background:var(--bg);justify-content:center;align-items:center;height:100px;display:flex;overflow:hidden}.attachment .thumb img{object-fit:cover;width:100%;height:100%}.attachment .name{text-overflow:ellipsis;white-space:nowrap;padding:6px 8px;font-size:12px;overflow:hidden}.login-page{background:var(--surface);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;display:grid}.login-brand{background:var(--brand-primary);color:#fff;flex-direction:column;justify-content:space-between;gap:40px;padding:48px clamp(24px,6vw,72px);display:flex;position:relative;overflow:hidden}.login-brand .logo-tile{border-radius:var(--radius);background:#fff;width:fit-content;padding:14px 18px}.login-brand .logo-tile img{width:auto;height:92px;display:block}.login-brand .arc{width:min(320px,70%);height:auto;margin:0 0 18px 4px;display:block}.login-brand h1{color:#fff;letter-spacing:-1px;max-width:13ch;margin:0 0 14px;font-size:clamp(30px,4vw,44px);line-height:1.08;position:relative}.login-brand p{color:#ffffffdb;max-width:40ch;margin:0;font-size:16px;position:relative}.login-brand .contact{color:#fffc;font-size:13.5px;position:relative}.login-brand .contact a{color:#fff}.login-form{justify-content:center;align-items:center;padding:40px 24px;display:flex}.login{width:100%;max-width:400px}.login h2{margin:0 0 4px;font-size:22px}.persona{text-align:left;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.persona:hover{border-color:var(--brand-primary)}.persona small{color:var(--text-dim)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar input,.toolbar select{width:auto;min-width:170px}.toolbar input[type=search]{flex:1}.empty{text-align:center;color:var(--text-dim);padding:36px 12px}.notice{border-radius:var(--radius-sm);color:var(--ink);background:#eaf2fa;border:1px solid #c3d9ee;padding:10px 12px;font-size:13.5px}.num{font-variant-numeric:tabular-nums;color:var(--brand-primary);margin-right:6px;font-size:.9em;font-weight:600}.bell{color:inherit;border-radius:var(--radius-sm);padding:4px 6px;text-decoration:none;position:relative}.bell.active,.bell:hover{background:var(--bg)}.bell-badge{background:var(--danger);color:#fff;border-radius:999px;padding:1px 5px;font-size:10px;font-weight:700;position:absolute;top:-2px;right:-4px}.notification.unread{border-left:4px solid var(--brand-accent)}.wizard{flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.wizard li{border:1px solid var(--line);background:var(--surface);color:var(--text-dim);border-radius:999px;padding:6px 12px;font-size:13.5px}.wizard li.active{background:var(--brand-primary);color:var(--brand-primary-text);border-color:var(--brand-primary)}.wizard li.done{color:var(--ok);background:#e6f4ec;border-color:#b0dcc2}.link-btn{color:var(--brand-primary);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.timeline{border-left:2px solid var(--line);margin:0;padding:0;list-style:none}.timeline li{padding:4px 0 12px 16px;font-size:13.5px;position:relative}.timeline li:before{content:"";background:var(--brand-primary);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:10px;left:-6px}.timeline .when{color:var(--text-dim);font-size:12px;display:block}@media (width<=820px){.topbar{grid-template-columns:1fr auto;grid-template-areas:"brand user""nav nav";padding:8px 14px 0}.topbar .brand{padding-bottom:4px}.topbar .brand img{height:38px}.topbar .brand .product span{display:none}.topbar .user{gap:8px;padding-bottom:4px}.topbar .user .who{display:none}.topbar nav{margin:0 -14px;padding:0 6px}main.content{padding:18px 14px 36px}h1{font-size:22px}.login-page{grid-template-columns:1fr}.login-brand{gap:22px;padding:28px 20px 32px}.login-brand .logo-tile img{height:60px}.login-brand .arc{width:200px;margin-bottom:12px}.toolbar input,.toolbar select{flex:140px;min-width:0}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
