:root{--bg:#f6f8fc;--ink:#172033;--muted:#667085;--line:#e5e9f1;--panel:#fff;--brand:#3c48e9;--brand-deep:#2730ab;--ok:#067647;--warn:#b54708;--error:#b42318;--dark:#151a33}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Noto Sans TC",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.5}.sidebar{width:246px;background:var(--dark);min-height:100vh;position:fixed;padding:30px 18px;color:#d5d9f2;display:flex;flex-direction:column}.brand{color:#fff;text-decoration:none;font-size:19px;font-weight:750;padding:0 10px 28px;letter-spacing:-.4px}.brand small{display:block;color:#9ca7d7;font-size:11px;font-weight:550;margin-top:3px;letter-spacing:.2px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{padding:11px 12px;border-radius:8px;color:#c2c8e8;text-decoration:none;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{background:#292f57;color:#fff}.side-foot{margin-top:auto;border-top:1px solid #30375f;padding:18px 10px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px}.link-button{border:0;background:transparent;color:#c9d0ff;padding:0;cursor:pointer}.main{margin-left:246px;max-width:1540px;padding:38px 42px 64px}.main>header{display:flex;justify-content:space-between;align-items:flex-start;margin:0 0 28px}.eyebrow{font-size:11px;text-transform:uppercase;font-weight:750;letter-spacing:.11em;color:#7781a0;margin:0 0 5px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.7px;margin-bottom:0}h2{font-size:18px;margin-bottom:8px}h3{font-size:15px;margin-bottom:4px}p{color:var(--muted)}button,a{transition:.16s ease}button{border:0;background:var(--brand);color:#fff;border-radius:7px;padding:10px 14px;font-weight:700;font:inherit;cursor:pointer}button:hover{background:var(--brand-deep)}button.secondary{background:#eef0ff;color:#303acb}button.secondary:hover{background:#dfe3ff}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:23px;margin-bottom:20px;box-shadow:0 1px 2px rgba(18,29,71,.025)}.section-title{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin-bottom:20px}.section-title p{max-width:550px;margin:0}.section-title a,.notice a{font-weight:700;color:var(--brand);text-decoration:none}.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:20px}.stats article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px}.stats span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.stats strong{font-size:25px;letter-spacing:-.6px}.notice{display:flex;align-items:center;gap:12px;background:#fff6e9;border:1px solid #fed7aa;padding:14px 16px;border-radius:10px;margin-bottom:20px;color:#9a3412}.notice span{flex:1}.flash{border-radius:8px;padding:12px 14px;margin-bottom:18px;font-weight:600}.flash.success{background:#ecfdf3;color:var(--ok)}.flash.error{background:#fff1f1;color:var(--error)}.automation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.automation-card{border:1px solid var(--line);border-radius:10px;padding:16px}.automation-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.automation-heading span{font-size:11px;color:var(--muted)}label{display:block;font-size:12px;font-weight:700;color:#475467;margin-bottom:12px}input,select,textarea{display:block;width:100%;margin-top:5px;border:1px solid #d4d9e5;border-radius:7px;background:#fff;padding:10px 11px;font:inherit;color:var(--ink)}input:focus,select:focus{outline:2px solid #cfd4ff;border-color:#6b76ee}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stack{display:grid;gap:2px;max-width:800px}.check{display:flex;gap:8px;align-items:center}.check input{width:auto;margin:0}.switch{display:flex;align-items:center;gap:8px;cursor:pointer}.switch input{display:none}.switch i{width:33px;height:18px;background:#c8cedd;border-radius:20px;position:relative}.switch i:after{content:"";position:absolute;width:14px;height:14px;top:2px;left:2px;background:#fff;border-radius:50%;transition:.15s}.switch input:checked+i{background:#4b5de6}.switch input:checked+i:after{transform:translateX(15px)}.switch span{font-size:12px;color:#475467}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:750px}th{text-align:left;color:#667085;font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:#f9fafc}th,td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}td small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.empty{color:var(--muted);text-align:center;padding:34px!important}.status{display:inline-block;font-size:11px;font-weight:750;text-transform:uppercase;border-radius:99px;padding:3px 8px;background:#eef2f6;color:#526075}.status.granted,.status.approved,.status.active,.status.sent,.status.delivered,.status.read,.status.ok{background:#e9fbf0;color:var(--ok)}.status.revoked,.status.failed,.status.no{background:#ffebed;color:var(--error)}.status.draft,.status.scheduled,.status.unknown{background:#edf0ff;color:#4653d6}.muted{color:var(--muted)}details summary{cursor:pointer;color:var(--brand);font-weight:700}.inline-form{display:grid;grid-template-columns:100px 1fr 1fr auto;gap:5px;min-width:540px;padding-top:8px}.inline-form input,.inline-form select{margin:0;padding:7px}.inline-form button{padding:7px 10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.list{display:grid;gap:11px}.list-card{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:12px 0}.list-card:last-child{border-bottom:0}.list-card strong{font-size:23px;text-align:right}.list-card strong small{display:block;font-size:10px;color:var(--muted);font-weight:500}.tag{font-size:11px;background:#f0f2f7;color:#566077;padding:3px 6px;border-radius:4px;display:inline-block;margin:0 4px 4px 0}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:13px}.product-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.product-card img,.image-placeholder{width:100%;height:155px;object-fit:cover;background:#f0f2f7}.image-placeholder{display:grid;place-items:center;color:var(--muted);font-size:12px}.product-card>div{padding:13px}.product-card h3{margin:8px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-card p{font-weight:700;color:var(--ink);margin-bottom:3px}.product-card small{color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block}ol{padding-left:19px;color:var(--muted)}li{margin-bottom:8px}code{font-size:12px;background:#f2f4f7;padding:2px 4px;border-radius:4px;color:#344054;overflow-wrap:anywhere}.hint{font-size:12px;margin-top:12px}.warning{background:#fffcf5;border-color:#fedf89}.setup-stats strong{font-size:16px}.ok{color:var(--ok)}.no{color:var(--warn)}.login-main{max-width:520px;margin:0 auto;padding:10vh 22px}.login-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:35px;box-shadow:0 16px 46px rgba(27,37,79,.08)}.login-card h1{margin-bottom:14px}.login-card p{margin-bottom:26px}.login-card button{margin-top:8px}@media(max-width:1120px){.stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.sidebar{position:static;width:100%;min-height:0;padding:16px;display:block}.brand{display:block;padding:0 0 12px}.sidebar nav{grid-template-columns:repeat(2,1fr)}.side-foot{margin-top:12px;padding:12px 0 0}.main{margin:0;padding:22px 16px}.main>header,.section-title{flex-direction:column;gap:12px}.stats,.two-col,.automation-list,.field-grid{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr;min-width:260px}.product-grid{grid-template-columns:repeat(2,1fr)}}
