:root{--color-primary: #0a4d8c;--color-primary-hover: #083c6e;--color-primary-soft: #e8f1fa;--color-accent: #e8722a;--color-accent-hover: #cf601d;--color-text: #1f2933;--color-text-muted: #5b6b7a;--color-border: #dce3ea;--color-bg: #ffffff;--color-bg-subtle: #f5f7fa;--color-secondary: #8a97a4;--color-warn: #d99a00;--color-info: #2b7cd3;--color-success: #2e8b57;--color-danger: #c0392b;--font-sans: "Noto Sans TC", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.75rem;--font-size-2xl: 2.5rem;--line-height-base: 1.6;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--space-8: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(15, 30, 50, .06);--shadow-md: 0 4px 12px rgba(15, 30, 50, .1);--container-max: 1200px;--header-height: 64px}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background:var(--color-bg)}h1,h2,h3,h4,p,figure{margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-3)}.btn{display:inline-block;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid transparent;font-size:var(--font-size-base);font-weight:600;line-height:1.4;transition:background-color .15s ease}.btn:hover{text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover{background:var(--color-accent-hover)}.btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-text)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field{display:block;margin-bottom:var(--space-3)}.field>span{display:block;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-1)}.field input,.field textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:inherit}.product-actions,.sup-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.header-badge,.float-badge{display:inline-block;min-width:1.25rem;margin-left:var(--space-1);padding:0 .35rem;border-radius:999px;background:var(--color-accent);color:#fff;font-size:.72rem;text-align:center}.matching-float{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:200}.float-toggle{background:var(--color-primary);color:#fff;border:none;border-radius:999px;padding:var(--space-3) var(--space-4);font-weight:600;box-shadow:var(--shadow-md)}.float-panel{width:min(360px,calc(100vw - 2 * var(--space-4)));max-height:70vh;overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.float-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);border-bottom:1px solid var(--color-border)}.float-close,.float-remove{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-base)}.float-body{padding:var(--space-3)}.float-empty,.float-hint,.muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.float-items{list-style:none}.float-items li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.float-tag{display:inline-block;margin-right:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);font-size:.72rem}.float-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.float-done{margin-bottom:var(--space-3)}.wizard-steps{display:flex;gap:var(--space-2);list-style:none;margin-bottom:var(--space-3);font-size:var(--font-size-sm)}.wizard-steps li{color:var(--color-text-muted)}.wizard-steps li.active{color:var(--color-primary);font-weight:700}.wizard-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.wizard-error{color:var(--color-danger);font-size:var(--font-size-sm)}.contact-note{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.contact-readonly{list-style:none;line-height:1.8}.req-app{max-width:680px;margin:0 auto}.req-app__title{font-size:var(--font-size-2xl);color:var(--color-primary);line-height:1.25}.req-app__subtitle{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-base)}.req-app__textarea{width:100%;margin-top:var(--space-4);resize:vertical}.req-app__meta{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.req-app__login-prompt{margin-top:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-primary-soft);border-radius:var(--radius-md);padding:var(--space-3)}.req-app__error{margin-top:var(--space-3);color:var(--color-danger);font-size:var(--font-size-sm)}.req-app__submit{margin-top:var(--space-4)}.req-app--done{text-align:center}.req-app__success-title{font-size:var(--font-size-xl);color:var(--color-primary)}.req-app__success-body{margin-top:var(--space-3);font-size:var(--font-size-lg)}.req-app__no{color:var(--color-accent);letter-spacing:.04em}.req-app__success-hint{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.req-app--done .btn{margin-top:var(--space-4)}.auth-tabs,.hub-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.auth-tabs button,.hub-tabs button{background:none;border:none;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-weight:600;border-bottom:2px solid transparent}.auth-tabs button.active,.hub-tabs button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.auth-notice{padding:var(--space-3);background:var(--color-primary-soft);border-radius:var(--radius-md);margin-bottom:var(--space-3);color:var(--color-text)}.auth-form{max-width:420px}.auth-resend{margin-top:var(--space-3);font-size:var(--font-size-sm)}.link-inline{background:none;border:none;padding:0;margin-left:var(--space-1);color:var(--color-primary);font-weight:600;text-decoration:underline;cursor:pointer}.link-inline:disabled{opacity:.6;cursor:default}.hub-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.hub-list{list-style:none;line-height:2}.hub-row{display:flex;justify-content:space-between;width:100%;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);color:var(--color-text)}.notif{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2)}.notif.unread{border-left:3px solid var(--color-primary);background:var(--color-primary-soft)}.notif-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1;text-align:left}.notif-link{background:none;border:none;padding:0;color:inherit;cursor:pointer}.notif-link:hover .notif-title{text-decoration:underline}.notif-title{font-weight:600;color:var(--color-text)}.notif-body{color:var(--color-text-muted);font-size:var(--font-size-sm)}.notif-date{color:var(--color-text-muted);font-size:.72rem}.status-pill,.status-stepper li{font-size:var(--font-size-sm)}.status-pill{color:var(--color-primary);font-weight:600}.link-back{background:none;border:none;color:var(--color-primary);margin-bottom:var(--space-3)}.status-stepper{display:flex;gap:var(--space-2);list-style:none;margin-bottom:var(--space-3);flex-wrap:wrap}.status-stepper li{padding:var(--space-1) var(--space-3);border-radius:999px;background:var(--color-bg-subtle);color:var(--color-text-muted)}.status-stepper li.done{background:var(--color-primary);color:#fff}.nomatch-note{color:var(--color-danger);margin-bottom:var(--space-3)}.detail-fields,.contact-readonly{margin-bottom:var(--space-4)}.detail-fields{list-style:none;line-height:1.9}.detail-sub{font-size:var(--font-size-lg);margin-bottom:var(--space-3)}.thread{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3)}.thread-head{font-weight:600;margin-bottom:var(--space-2)}.msg-list{list-style:none;margin-bottom:var(--space-3)}.msg-list li{margin-bottom:var(--space-2)}.msg-list li.mine{text-align:right}.msg-from{display:block;font-size:.72rem;color:var(--color-text-muted)}.msg-body{display:inline-block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.msg-list li.mine .msg-body{background:var(--color-primary-soft)}.reply-box{display:flex;gap:var(--space-2)}.reply-box input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.gen-page{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.gen-pending{color:var(--color-primary);font-weight:600}.gen-error{color:var(--color-danger);font-size:var(--font-size-sm)}
