/* Romthai Aroma — shared visual system */
:root{--rt-teal:#004d54;--rt-deep:#07343b;--rt-gold:#e7b45b;--rt-orange:#ff7641;--rt-cream:#fff8e9;--rt-mist:#e4f1ef;--rt-charcoal:#263039}
body{font-family:system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif}
body:has(.experience){background:radial-gradient(circle at 12% 0,#def0ec 0,transparent 32%),radial-gradient(circle at 91% 30%,#ffedd5 0,transparent 28%),#f2f7f4;color:var(--rt-deep)}
.experience{border-color:#cce0d8;box-shadow:0 25px 70px #06404820;background:#fffdf8}
.brandBar{background:var(--rt-deep);padding:10px 17px;gap:8px;border-bottom:2px solid var(--rt-gold)}
.brandMark{display:block;width:53px;height:53px;flex:none;object-fit:contain;filter:drop-shadow(0 2px 4px #0006)}
.brandWordmark strong{font-size:24px;letter-spacing:-.06em;color:var(--rt-cream)}
.brandWordmark small{font:700 9px system-ui,sans-serif;letter-spacing:.25em;color:var(--rt-gold)}
.brandTag{text-align:right;color:#ffe2ab;font-size:10px;line-height:1.45}
.hero{height:230px;background:radial-gradient(circle at 80% 50%,#0c7377 0,#075960 40%,#07343b 100%);isolation:isolate}
.hero::before{content:"";position:absolute;width:290px;height:290px;border:1px solid #e7b45b37;border-radius:50%;right:-31px;top:-39px;box-shadow:0 0 0 28px #e7b45b0c,0 0 0 62px #e7b45b0b;z-index:-1}
.hero::after{height:45px;background:linear-gradient(transparent,#002e35a8)}
.hero img{position:absolute;right:1%;bottom:-55px;width:55%;height:310px;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 12px 10px #001e2780)}
.heroCopy{position:absolute;top:48px;left:26px;color:#fff9e8;z-index:1;display:flex;flex-direction:column;max-width:49%}
.heroCopy span{color:var(--rt-gold);font-size:10px;font-weight:800;letter-spacing:.22em;margin-bottom:15px}
.heroCopy strong{font-size:29px;line-height:1.23;letter-spacing:-.04em;text-wrap:balance}
.heroCopy small{font-size:13px;color:#ccebe2;margin-top:10px}
.heroCorner{color:var(--rt-gold);background:#0b454dbb;border:1px solid #e7b45b77}
.formContent{padding:28px 29px 29px}
.eyebrow{color:#a66a21}.eyebrowLine{background:#d8913d}
h1,h2{color:var(--rt-deep)}h1{font-weight:850}.subtitle{color:#556d6d;font-size:13px}
.qrNotice{border-color:#b5d7ce;background:#edf8f3;color:#075b4d;padding:14px}
.qrNotice .noticeIcon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:12px;background:#cce9df;color:#08715d;border:1px solid #8bc9b2}
.noticeIcon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.qrNotice small{color:#3f7469}
.field>span{color:var(--rt-deep)}.field .fieldLabel{display:flex;align-items:center;gap:7px}.fieldLabel svg{width:17px;height:17px;fill:none;stroke:#007d78;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.field input,.field textarea{border-color:#cfded9;border-radius:12px;background:#fff}.field input:focus,.field textarea:focus{border-color:#02847e;box-shadow:0 0 0 3px #02847e20}
.consent{border-color:#e7dec9;background:#fff8e9;color:#4c5b55}.consent input{accent-color:var(--rt-teal)}
#submitBtn{border-color:var(--rt-teal);background:linear-gradient(100deg,#006267,#00484f);box-shadow:0 9px 19px #004d5430;border-radius:12px}
#submitBtn:hover:not(:disabled){background:linear-gradient(100deg,#007578,#00545b)}
.privacy{color:#697f77}.goldRule{background:var(--rt-deep);color:var(--rt-gold)}.goldRule::before,.goldRule::after{background:#e7b45b88}.pageFoot{color:#5b7371;font-family:system-ui,sans-serif;font-weight:700;letter-spacing:.12em}
.successIcon{background:#e8f3e9;border-color:#b1d6c4;color:#087158}.secondary{color:var(--rt-teal);border-color:#b4d0c8}.secondary:hover{background:#eaf5f1}
@media(max-width:380px){.brandBar{padding:12px 15px}.brandTag{font-size:9px}.hero{height:190px}.hero img{height:260px;bottom:-47px}.heroCopy{top:40px;left:21px}.heroCopy strong{font-size:24px}.formContent{padding:20px 21px 23px}}

/* Control center */
body:has(.appShell){background:#edf5f2;color:var(--rt-deep)}
.sidebar{background:linear-gradient(160deg,#073b43,#052b33 78%);box-shadow:7px 0 25px #05363b25}
.sidebarBrand{gap:7px;padding-left:2px}.sidebarBrand .brandMark{width:54px;height:54px}.sidebarBrand strong{color:#fff8e9}.sidebarBrand small{color:#e7b45b;font-family:system-ui,sans-serif;font-weight:800;font-size:9px;letter-spacing:.06em;white-space:normal;line-height:1.3}
.sidebarGroupLabel{color:#9abfbd}.sideNav button{color:#b8d4d0}.sideNav button:hover{background:#ffffff16}.sideNav button[aria-current=page]{background:linear-gradient(100deg,#087478,#075d64);border-color:#6ad6c850;color:#fff;box-shadow:inset 3px 0 0 var(--rt-orange),0 7px 20px #001e2240}
.sideNav svg,.quickIcon svg,.listIcon svg{stroke-width:1.9}.sidebarBottom{background:#0b4850;border-color:#29656a;color:#effbf5}.sidebarBottom small{color:#b0d0cb}
.workspaceHeader{background:#fffdf7;border-bottom-color:#d0e2dc}.headerTitles small{color:#738c87}.headerTitles strong,.pageHeading h1{color:var(--rt-deep)}.headerSource{background:#e9f4ef;border-color:#c4ddd2;color:#466b65}.headerSource b{color:#006267}
.pageHeading .eyebrow{color:#a96c22}.lead{color:#5c756e}.topBadge{background:#e5f5e8;border-color:#a7d7b6;color:#16714c}
.summaryCard,.quickCard,.toolCard,.linkList article{background:#fffdf8;border-color:#d4e5de;box-shadow:0 10px 24px #113f3b0d}.summaryCard span{color:#5e7872}.summaryCard strong{color:var(--rt-deep)}.summaryCard:first-child strong{color:#bd6b32}.summaryCard small{color:#738c85}
.sectionTitle>span:first-child{border-color:#b4d2c6;color:#bd6b32}.sectionRule{background:#cfddd7}
.quickCard.featured{background:linear-gradient(145deg,#086c70,#073a43);border-color:#16888b}.quickIcon,.listIcon{background:#e2f2ed;color:#007173}.featured .quickIcon{background:#ffffff1c;color:#ffd186;border:1px solid #e7b45b66}.quickCard small{color:#007676}.quickCard.featured small{color:#ffd38a}.quickCard p{color:#607a74}.quickCard.featured p{color:#d3eee8}
.quickActions button,.quickActions a,.linkList button,.linkList a{background:#e7f3ee;border-color:#bddbd0;color:#00646a}.featured .quickActions button,.featured .quickActions a{background:#ff7b45;border-color:#ff9f73;color:#122c2e}
.dashboardNote{background:#fff5e5;border-left-color:var(--rt-orange);color:#6b563c}
.toolCard input{border-color:#c6dbd2;color:var(--rt-deep)}.toolCard input:focus{border-color:#068179;box-shadow:0 0 0 3px #06817922}.fieldHint{color:#708780}
.primaryButton{background:#00666a}.qrPlaceholder{background:#f3f9f6;border-color:#bcd8cc;color:#639c92}.qrImageWrap{border-color:#d1e2d9}.resultLabel{color:#55736b}.urlBox{background:#eff7f2;border-color:#d1e2d9;color:#155d5b}.qrActions button{border-color:#bad9ce;color:#006269}.testLink{color:#006e73}
.viewPanel .metric{background:#07535a}.viewPanel .customer{border-color:#d6e4db}.copyToast{background:#07535a}
.loginCard{background:#fffdf8;border-color:#d0e1d5}.lock{background:#e4f3ec;color:#007675}.loginCard button[type=submit]{background:#006268}.loginCard input:focus{border-color:#008480;box-shadow:0 0 0 3px #00848022}
.lock img{display:block;width:42px;height:42px;object-fit:contain}.overviewHeading{position:relative;min-height:120px;padding:14px 130px 14px 0;border-bottom:1px solid #d4e5dd}.overviewMascot{position:absolute;right:122px;bottom:0;width:95px;height:125px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 6px 5px #07343b2e)}.overviewHeading .topBadge{position:absolute;right:0;top:17px}
.tools,.customer,.empty{background:#fffdf8;border-color:#d6e4db}.toolField select,.toolField input,.deleteDialog input{border-color:#c8dcd2;color:var(--rt-deep)}.toolField select:focus,.toolField input:focus,.deleteDialog input:focus{border-color:#00847f;box-shadow:0 0 0 3px #00847f22}.exportBtn,.more,.refresh{background:#f4faf6;border-color:#b9d9cd;color:#07535a}.selectBar{background:#eaf6f1;border-color:#b9dbcc;color:#11594d}.selectBar input,.rowSelect{accent-color:#00666a}
.serialPanel{border-color:#cbded2;background:linear-gradient(130deg,#f1faf4,#fffaf0)}.serialPanel h3{color:var(--rt-deep)}.serialStats{background:#07535a;color:#ffe1a5}.serialControls #serialCreateBtn{background:#00666a;border-color:#00666a}.serialControls button,.serialControls a{background:#fffaf0;border-color:#d9bc87;color:#5c4227}.customerSerial{color:#a45e22}
.linkList small{color:#6c8981}
@media(max-width:640px){.sidebar{background:#073b43}.sidebarBrand .brandMark{width:48px;height:48px}.overviewHeading{padding-right:90px;min-height:150px}.overviewMascot{right:0;width:82px;height:120px}.overviewHeading .topBadge{position:static;align-self:flex-start}.overviewHeading .lead{max-width:100%}}
