.portal-root{background:var(--dui-color-canvas);color:var(--dui-color-text);word-break:keep-all;overflow-wrap:anywhere;flex-direction:column;min-height:100vh;font-size:16px;line-height:1.65;display:flex}.portal-topbar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.portal-brand{letter-spacing:-.01em;align-items:center;gap:10px;font-weight:700;display:flex}.portal-brand-mark{background:var(--navy-900);border-radius:var(--dui-radius-control);color:#fff;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8rem;display:inline-flex}.portal-topbar-actions{align-items:center;gap:10px;display:flex}.portal-main{flex:1;width:100%;max-width:880px;margin:0 auto;padding:36px 24px 72px}.portal-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.portal-block{margin-bottom:36px}.portal-block-head{border-bottom:1px solid var(--dui-color-border);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;padding-bottom:10px;display:flex}.portal-block-head h2{letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:600}.portal-block--quiet .portal-block-head h2{color:var(--dui-color-text-muted);font-weight:500}.portal-notices{margin-bottom:32px}.portal-notices-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.portal-notices-head h2{align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:600;display:flex}.portal-notice-count{background:var(--dui-color-danger);border-radius:var(--dui-radius-chip);color:#fff;padding:3px 6px;font-size:.72rem;font-weight:700;line-height:1}.portal-text-button{color:var(--dui-color-accent);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:.85rem;font-weight:600}.portal-text-button:disabled{color:var(--dui-color-text-subtle);cursor:default}.portal-notice-list{border-top:1px solid var(--dui-color-border);margin:0;padding:0;list-style:none}.portal-notice-list li{border-bottom:1px solid var(--dui-color-border)}.portal-notice-row{color:inherit;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:11px 2px;text-decoration:none;display:flex}a.portal-notice-row:hover{background:var(--dui-color-surface-hover)}.portal-notice-title{font-size:.92rem;font-weight:600}.portal-notice-body{color:var(--dui-color-text-muted);flex:auto;font-size:.88rem}.portal-notice-time{color:var(--dui-color-text-subtle);flex-shrink:0;font-size:.8rem}.portal-notices-earlier{margin-top:10px}.portal-notices-earlier summary{color:var(--dui-color-text-muted);cursor:pointer;padding:4px 0;font-size:.85rem}.portal-auth{width:100%;max-width:420px;margin:0 auto;padding-top:16px}.portal-auth h1{letter-spacing:-.02em;margin:0 0 6px;font-size:1.45rem}.portal-auth-help{color:var(--ink-700);margin:0 0 20px;font-size:.92rem}.portal-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--dui-radius-card);flex-direction:column;gap:14px;padding:22px 20px;display:flex}.portal-field{flex-direction:column;gap:6px;display:flex}.portal-field label{color:var(--ink-700);font-size:.85rem;font-weight:600}.portal-field input{border:1px solid var(--line);border-radius:var(--dui-radius-control);width:100%;padding:11px 12px;font-size:1rem}.portal-field input:focus{border-color:var(--blue-500);box-shadow:0 0 0 4px var(--dui-color-focus-ring);outline:none}.portal-field-note{color:var(--ink-500);font-size:.8rem}.portal-submit{background:var(--blue-600);border-radius:var(--dui-radius-control);color:#fff;cursor:pointer;border:none;margin-top:4px;padding:12px 14px;font-size:1rem;font-weight:600}.portal-submit:disabled{cursor:default;opacity:.6}.portal-error{background:var(--dui-color-danger-bg);border-radius:var(--dui-radius-control);color:var(--red);border:1px solid #f3c4c6;padding:10px 12px;font-size:.88rem}.portal-auth-switch{color:var(--ink-700);text-align:center;margin-top:18px;font-size:.9rem}.portal-auth-switch a{color:var(--blue-600);margin-left:6px;font-weight:600;text-decoration:none}.portal-greeting{letter-spacing:-.02em;margin:0 0 4px;font-size:1.35rem}.portal-company{color:var(--ink-700);margin:0 0 24px;font-size:.95rem}.portal-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--dui-radius-card);margin-bottom:16px;padding:18px 20px}.portal-section h2{margin:0 0 12px;font-size:1.02rem}.portal-empty{color:var(--ink-700);margin:0;font-size:.92rem}.portal-empty-sub{color:var(--ink-500);margin:6px 0 0;font-size:.85rem}.portal-info-rows{flex-direction:column;gap:8px;display:flex}.portal-info-row{gap:12px;font-size:.92rem;display:flex}.portal-info-row dt{color:var(--ink-500);flex-shrink:0;width:84px;margin:0}.portal-info-row dd{word-break:break-all;margin:0}.portal-logout{border:1px solid var(--line);border-radius:var(--dui-radius-control);color:var(--ink-700);cursor:pointer;background:0 0;padding:7px 12px;font-size:.85rem}.portal-logout:disabled{opacity:.6}.portal-field select,.portal-field textarea{border:1px solid var(--line);border-radius:var(--dui-radius-control);width:100%;padding:11px 12px;font-family:inherit;font-size:1rem}.portal-field select:focus,.portal-field textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 4px var(--dui-color-focus-ring);outline:none}.portal-field textarea{resize:vertical}.portal-field input:disabled{background:var(--canvas);color:var(--ink-500)}.portal-field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.portal-inquiry{max-width:480px}.portal-inquiry-number{background:var(--blue-100);border-radius:var(--dui-radius-control);letter-spacing:.03em;text-align:center;word-break:break-all;padding:12px;font-size:1.15rem;font-weight:700}.portal-submit-link{text-align:center;text-decoration:none;display:block}.portal-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.portal-section-head h2{margin:0}.portal-new-inquiry{background:var(--blue-600);border-radius:var(--dui-radius-control);color:#fff;flex-shrink:0;padding:8px 14px;font-size:.88rem;font-weight:600;text-decoration:none}.portal-inquiry-list{margin:0;padding:0;list-style:none}.portal-inquiry-list li+li{border-top:1px solid var(--dui-color-border)}.portal-inquiry-item{color:inherit;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 4px;text-decoration:none;display:flex}.portal-inquiry-item:hover{background:var(--dui-color-surface-hover)}.portal-inquiry-main{min-width:0}.portal-inquiry-state{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.portal-inquiry-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.portal-inquiry-id{color:var(--dui-color-text-muted);font-size:.8rem;font-weight:500}.portal-inquiry-route{letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:5px;font-size:1.05rem;font-weight:600;display:flex}.portal-inquiry-meta{color:var(--ink-500);flex-wrap:wrap;gap:4px 12px;font-size:.82rem;display:flex}.portal-status{border-radius:var(--dui-radius-chip);flex-shrink:0;padding:3px 9px;font-size:.75rem;font-weight:600}.portal-status-submitted{background:var(--blue-100);color:var(--blue-600)}.portal-status-inReview{background:var(--dui-color-warning-bg);color:var(--dui-color-warning)}.portal-status-quoted{background:var(--dui-color-success-bg);color:var(--dui-color-success)}.portal-status-closed{background:var(--dui-color-surface-sunken);color:var(--dui-color-text-muted)}@media (max-width:480px){.portal-main{padding:20px 14px 40px}.portal-form{padding:18px 14px}.portal-info-row{flex-direction:column;gap:2px}}.portal-language{justify-content:flex-end;margin-bottom:4px;display:flex}.portal-inquiry-link{color:inherit;text-decoration:none;display:block}.portal-inquiry-link:hover{border-color:var(--blue-500)}.portal-backline{margin:0 0 14px;font-size:.9rem}.portal-backline a{color:var(--blue-600);text-decoration:none}.portal-detail-head{align-items:center;gap:12px;margin-bottom:18px;display:flex}.portal-detail-head h1{margin:0}.portal-quote-table{border-collapse:collapse;width:100%}.portal-quote-table th,.portal-quote-table td{border-bottom:1px solid var(--line);text-align:left;padding:9px 8px;font-size:.92rem}.portal-quote-table td:last-child,.portal-quote-table th:last-child{text-align:right}.portal-quote-table tfoot th{border-bottom:none;font-size:1rem}.portal-quote-meta{color:var(--ink-500);margin:10px 0 0;font-size:.85rem}.portal-quote-note{color:var(--ink-700);white-space:pre-line;margin:10px 0 0;font-size:.9rem}.portal-dispatch-steps{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;margin-bottom:16px;display:grid}.portal-dispatch-step{border-top:3px solid var(--dui-color-border);color:var(--dui-color-text-subtle);word-break:keep-all;padding-top:8px;font-size:.74rem;line-height:1.35}.portal-dispatch-step.done{border-top-color:var(--dui-color-primary);color:var(--dui-color-text);font-weight:600}.portal-tracking{max-width:480px}.portal-tracking-result{margin-top:18px}.portal-pin-panel{flex-direction:column;gap:10px;display:flex}.portal-pin-panel .portal-submit{align-self:flex-start;padding:10px 18px}.portal-document-panel{flex-direction:column;gap:14px;display:flex}.portal-document-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.portal-document-list li{border:1px solid var(--line);border-radius:var(--dui-radius-control);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.portal-document-main{flex-direction:column;gap:2px;min-width:0;display:flex}.portal-document-name{color:var(--blue-600);word-break:break-all;font-size:.92rem;font-weight:600;text-decoration:none}.portal-document-meta{color:var(--ink-500);font-size:.8rem}.portal-document-delete{border:1px solid var(--line);color:var(--ink-700);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;padding:5px 10px;font-size:.8rem}.portal-document-form{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:14px;display:flex}.portal-document-form .portal-submit{align-self:flex-start;padding:10px 18px}.portal-document-message{color:var(--green);margin:0;font-size:.88rem}.portal-message-panel{flex-direction:column;gap:14px;display:flex}.portal-message-list{flex-direction:column;gap:10px;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.portal-message{border:1px solid var(--line);border-radius:var(--dui-radius-card);padding:10px 12px}.portal-message-customer{background:var(--blue-100);border-color:#c4d9f8;margin-left:28px}.portal-message-agent{background:var(--surface);margin-right:28px}.portal-message-head{justify-content:space-between;gap:10px;margin-bottom:4px;display:flex}.portal-message-sender{font-size:.85rem;font-weight:600}.portal-message-time{color:var(--ink-500);font-size:.78rem}.portal-message-body{white-space:pre-line;word-break:break-word;margin:0;font-size:.92rem}.portal-message-form{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:14px;display:flex}.portal-message-form .portal-submit{align-self:flex-start;padding:10px 18px}.portal-notification-count{background:var(--red);border-radius:var(--dui-radius-chip);color:#fff;text-align:center;vertical-align:middle;min-width:20px;margin-left:8px;padding:2px 7px;font-size:.72rem;font-weight:700;display:inline-block}.portal-notification-readall{border:1px solid var(--line);border-radius:var(--dui-radius-control);color:var(--ink-700);cursor:pointer;background:0 0;flex-shrink:0;padding:7px 12px;font-size:.85rem}.portal-notification-readall:hover:not(:disabled){background:var(--surface-2,#f2f5fa)}.portal-notification-readall:disabled{cursor:default;opacity:.6}.portal-notification-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.portal-notification-list li{border:1px solid var(--line);border-radius:var(--dui-radius-card)}.portal-notification-list li.unread{border-color:var(--blue-600)}.portal-notification-link{color:inherit;padding:12px 14px;text-decoration:none;display:block}a.portal-notification-link:hover{background:var(--surface-2,#f2f5fa)}.portal-notification-title{align-items:center;gap:8px;font-weight:600;display:flex}.portal-notification-dot{background:var(--blue-600);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.portal-notification-body{color:var(--ink-700);overflow-wrap:anywhere;margin-top:4px;font-size:.9rem}.portal-notification-time{color:var(--ink-500);margin-top:6px;font-size:.78rem;display:block}.portal-progress-badge{color:var(--dui-color-text-muted);white-space:nowrap;font-size:.8rem;font-weight:500}.portal-unread-badge{background:var(--dui-color-danger);border-radius:var(--dui-radius-chip);color:#fff;letter-spacing:0;padding:2px 6px;font-size:.72rem;font-weight:700}.portal-verify-actions{margin-top:20px}.portal-secondary-button{border:1px solid var(--dui-color-border-strong);border-radius:var(--dui-radius-control);background:var(--dui-color-surface);width:100%;color:var(--dui-color-text);cursor:pointer;padding:12px 16px;font-size:15px;font-weight:600}.portal-secondary-button:hover{border-color:var(--dui-color-accent);color:var(--dui-color-accent)}.portal-secondary-button:disabled{opacity:.6;cursor:default}.portal-verify-notice{color:var(--dui-color-success)}.portal-login-banner{border:1px solid var(--dui-color-border);border-left:3px solid var(--dui-color-success);border-radius:var(--dui-radius-control);background:var(--dui-color-surface);max-width:420px;color:var(--dui-color-text);word-break:keep-all;margin:0 auto 16px;padding:12px 16px;font-size:14px}.portal-login-banner.is-warning{border-left-color:var(--dui-color-warning)}
