/* IROHA ADMIN — obsidian, forest glass, brushed gold. Scoped to the admin view. */
body.iroha-admin-luxe{
 --al-bg:#080f0e;--al-panel:#12211e;--al-panel-high:#1b302b;--al-ink:#f4efdf;--al-muted:#b9c6bf;--al-gold:#e7c786;--al-line:rgba(215,183,117,.32);
 color:var(--al-ink);background-color:var(--al-bg);
 background-image:radial-gradient(ellipse at 92% 5%,rgba(144,104,48,.27),transparent 42%),radial-gradient(ellipse at 2% 33%,rgba(27,97,80,.25),transparent 43%),repeating-linear-gradient(125deg,transparent 0 89px,rgba(227,197,136,.035) 90px,transparent 91px 180px);
 background-attachment:fixed;
}
.iroha-admin-luxe main{position:relative;isolation:isolate;padding-bottom:64px}
.iroha-admin-luxe .site-header{background:rgba(9,19,17,.97);color:var(--al-ink);border-bottom:1px solid var(--al-line);box-shadow:0 12px 40px #0005;backdrop-filter:blur(18px)}
.iroha-admin-luxe .site-header .brand,.iroha-admin-luxe .site-header nav a,.iroha-admin-luxe .site-header button{color:var(--al-ink)}
.iroha-admin-luxe .site-header .brand-sub{color:var(--al-muted)}
.iroha-admin-luxe .site-header .brand-seal,.iroha-admin-luxe footer .brand-seal{color:var(--al-gold);border-color:#a78651;background:linear-gradient(135deg,#213e34,#0c1613);box-shadow:inset 0 0 15px #d9b66e12}
.iroha-admin-luxe .site-header nav.open{background:#10221d;border-color:var(--al-line)}
.iroha-admin-luxe footer{background:#080f0e;color:var(--al-muted);border-top:1px solid var(--al-line)}
.iroha-admin-luxe footer a{color:var(--al-gold)}
.iroha-admin-luxe .mobile-bottom{background:#10221d;border-top-color:var(--al-line);box-shadow:0 -8px 30px #0005}
.iroha-admin-luxe .mobile-bottom a{color:#f0e4ca}
.iroha-admin-luxe .iroha-admin-surface{
 position:relative;box-sizing:border-box;isolation:isolate;color:var(--al-ink);
 padding:clamp(22px,3.7vw,44px);border:1px solid var(--al-line);border-radius:22px;
 background:radial-gradient(ellipse at 100% 0,rgba(216,175,93,.10),transparent 42%),linear-gradient(145deg,#1b302beF,#101e1bfA 58%,#13251ffA);
 box-shadow:0 28px 65px #0006,inset 0 1px 0 #f8e4b323,inset 0 -1px 0 #0008;
 margin-top:26px;margin-bottom:30px;
}
.iroha-admin-luxe .iroha-admin-surface::before{content:"";position:absolute;inset:9px;border:1px solid #d9bc7915;border-radius:15px;pointer-events:none;z-index:-1}
.iroha-admin-luxe .iroha-admin-surface::after{content:"";position:absolute;top:-1px;left:8%;right:8%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,#edce8e,transparent)}
.iroha-admin-luxe .admin{padding-top:clamp(32px,5vw,62px);background:radial-gradient(ellipse at 91% 0,rgba(215,162,74,.18),transparent 52%),linear-gradient(142deg,#223a30,#101e1b 55%,#0d1917)}
.iroha-admin-luxe .iroha-admin-surface>.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:12px;color:#e3c68c;font-size:11px;letter-spacing:.22em;font-weight:600}
.iroha-admin-luxe .iroha-admin-surface>.eyebrow::before{content:"";display:block;width:30px;height:1px;background:#e3c68c;box-shadow:0 0 12px #e3c68c66}
.iroha-admin-luxe .admin>h1{color:#f7e9c6;margin:0 0 26px;font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(32px,4.6vw,58px);font-weight:700;letter-spacing:.12em;line-height:1.3;text-shadow:0 4px 24px #0005}
.iroha-admin-luxe .iroha-admin-surface>h2{color:#f3e2b9;font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(24px,3vw,34px);line-height:1.5;margin:0 0 14px;font-weight:700;letter-spacing:.045em}
.iroha-admin-luxe .iroha-admin-surface h3{color:#ead1a0;font-size:18px;letter-spacing:.03em;line-height:1.6;margin-top:28px}
.iroha-admin-luxe .iroha-admin-surface p,.iroha-admin-luxe .iroha-admin-surface small{color:var(--al-muted);line-height:1.8}
.iroha-admin-luxe .iroha-admin-surface label{color:#e7ede6;line-height:1.7}
.iroha-admin-luxe .iroha-admin-surface .fine{color:#b9c6bf;font-size:12px}
.iroha-admin-luxe .admin-bar{color:#d5dfd8;background:linear-gradient(100deg,#ffffff07,#ffffff02);border:1px solid #b9a47733;border-radius:12px;padding:14px 18px;gap:14px;line-height:1.7}
.iroha-admin-luxe .admin-bar>span{position:relative;padding-left:17px;font-size:13px}
.iroha-admin-luxe .admin-bar>span::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:#a9d2a3;box-shadow:0 0 12px #a9d2a377}
/* Control navigation: luminous selected tile, dark embossed inactive tiles. */
.iroha-admin-luxe .admin .iroha-admin-switch{padding:20px 0 24px;margin:18px 0 18px;background:transparent;border:0;border-bottom:1px solid var(--al-line);border-radius:0}
.iroha-admin-luxe .admin .iroha-admin-switch-title{color:#c3cfc4;font-size:12px;letter-spacing:.08em}
.iroha-admin-luxe .admin .iroha-admin-switch-buttons{gap:10px}
.iroha-admin-luxe .admin .iroha-admin-switch-button{min-height:64px;border-radius:11px;color:#d3dfd5;border:1px solid #bcab793b;background:linear-gradient(135deg,#263c3280,#0b151480);box-shadow:inset 0 1px 0 #ffffff09,0 5px 14px #0003;font-size:13px;line-height:1.7;letter-spacing:.01em;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s,color .2s}
.iroha-admin-luxe .admin .iroha-admin-switch-button[aria-pressed="true"]{color:#251b0d;background:linear-gradient(125deg,#f7e4b5,#d4ae64 58%,#eed299);border-color:#f3dba9;box-shadow:0 6px 24px #c69e5233,inset 0 1px 0 #fff3d8;position:relative}
.iroha-admin-luxe .admin .iroha-admin-switch-button[aria-pressed="true"]::after{content:"";position:absolute;bottom:5px;width:18px;height:2px;border-radius:2px;background:#5a431d}
/* All panels retain their existing form layout and actions. */
.iroha-admin-luxe .iroha-admin-surface :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){box-sizing:border-box;max-width:100%;min-width:0;color:#f1eee2;background:#081411;border:1px solid #8f9e804f;border-radius:9px;padding:12px;box-shadow:inset 0 2px 8px #0004;font:inherit;font-size:14px;line-height:1.65;letter-spacing:normal;transition:border-color .18s,box-shadow .18s;color-scheme:dark}
.iroha-admin-luxe .iroha-admin-surface input::placeholder,.iroha-admin-luxe .iroha-admin-surface textarea::placeholder{color:#99aba0;opacity:1}
.iroha-admin-luxe .iroha-admin-surface select option{background:#12221c;color:#f1eee2}
.iroha-admin-luxe .iroha-admin-surface :is(input,textarea,select):focus{border-color:#e1bf7a;outline:2px solid #dab76c40;outline-offset:2px;box-shadow:0 0 0 4px #e5be7510,inset 0 2px 8px #0004}
.iroha-admin-luxe .iroha-admin-surface input:is([type="checkbox"],[type="radio"]){accent-color:#d9b56e}
.iroha-admin-luxe .iroha-admin-surface input[type="file"]{font-size:12px}
.iroha-admin-luxe .iroha-admin-surface input[type="file"]::file-selector-button{border:1px solid #c3a369;border-radius:6px;padding:8px 12px;margin-right:12px;color:#ece0bd;background:#294235;cursor:pointer;font:inherit}
.iroha-admin-luxe .iroha-admin-surface :is(button.primary,a.primary){color:#231b0e;background:linear-gradient(120deg,#f4dca4,#cfa55a 65%,#e8c88a);border:1px solid #f0d598;box-shadow:0 5px 16px #0004,inset 0 1px 0 #fff5d5;border-radius:9px;font-weight:700;letter-spacing:normal;white-space:normal;line-height:1.6}
.iroha-admin-luxe .iroha-admin-surface :is(button.secondary,a.secondary){color:#e5d7b6;background:linear-gradient(135deg,#2c4135,#1a2b24);border:1px solid #b49b6566;box-shadow:inset 0 1px 0 #ead8ac0b;border-radius:9px;letter-spacing:normal;white-space:normal;line-height:1.6}
.iroha-admin-luxe .iroha-admin-surface :is(button,a):focus-visible{outline:3px solid #f0d498;outline-offset:3px}
.iroha-admin-luxe .iroha-admin-surface button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.iroha-admin-luxe .iroha-admin-surface :is(.admin-delete,.rank-reward-delete){color:#ffd0ba;border:1px solid #d1866655;background:#4a252477;border-radius:9px}
.iroha-admin-luxe .iroha-admin-surface :is(.admin-list>div,.book-design-admin-list>figure,.rank-reward-admin-card,.gift-admin-card){color:#e9eddf;border:1px solid #b59c6638;border-radius:13px;background:linear-gradient(140deg,#22372e,#12211c);box-shadow:0 8px 22px #0003,inset 0 1px 0 #d4bf890c;min-width:0}
.iroha-admin-luxe .iroha-admin-surface .admin-list>div{padding:16px;gap:10px}
.iroha-admin-luxe .iroha-admin-surface :is(.admin-list b,.gift-admin-card strong,.rank-reward-admin-copy strong,.book-design-admin-list figcaption){color:#f1e6c9;line-height:1.65;overflow-wrap:anywhere}
.iroha-admin-luxe .iroha-admin-surface :is(.admin-list small,.gift-admin-card small,.rank-reward-admin-copy span){color:#b6c5ba}
.iroha-admin-luxe .iroha-admin-surface :is(.book-design-admin-list>figure,.gift-admin-card){padding:14px}
.iroha-admin-luxe .iroha-admin-surface :is(.book-design-admin-list img,.gift-admin-card img,.rank-reward-admin-card img){border-radius:8px;border:1px solid #d3b46e28;background-color:#e6e4da;box-shadow:0 5px 14px #0004}
.iroha-admin-luxe .iroha-admin-surface :is(.gift-form,.book-design-admin-form,.rank-reward-form,form.editor){padding:clamp(14px,2vw,24px);background:linear-gradient(135deg,#ffffff04,#00000012);border:1px solid #d5b67222;border-radius:14px;margin-top:20px;box-shadow:inset 0 1px 0 #ffffff05}
.iroha-admin-luxe .iroha-admin-surface :is(.gift-grant-box,.shop-bundle-picker){background:#0c1a15;border-color:#bda26955;color:var(--al-ink);border-radius:12px}
.iroha-admin-luxe .iroha-admin-surface :is(.shop-bundle-picker label,.gift-users label){color:#e0e7da;background:linear-gradient(135deg,#223b2c,#12241b);border:1px solid #9fa47d33;border-radius:8px}
.iroha-admin-luxe .iroha-admin-surface .shop-bundle-picker label:has(input:checked){background:linear-gradient(135deg,#4b4526,#2b3b25);outline-color:#e2c27e}
.iroha-admin-luxe .iroha-admin-surface .shop-bundle-picker strong{color:#f2e3ba}
.iroha-admin-luxe .iroha-admin-surface :is(.gift-tabs,.gift-pagination) button{color:#dfd5bb;background:#14261d;border-color:#a18b5b77;border-radius:8px}
.iroha-admin-luxe .iroha-admin-surface .gift-tabs button[aria-pressed="true"]{color:#231b0d;background:linear-gradient(120deg,#f0d69f,#cfa45b);border-color:#ddbf80}
.iroha-admin-luxe .iroha-admin-surface .gift-selected button{color:#f0d8a8;background:#283f2c;border-color:#b59d6b}
.iroha-admin-luxe .iroha-admin-surface :is(.gift-status,.rank-reward-message,.notice){color:#e8d6a9;border-radius:8px}
.iroha-admin-luxe .iroha-admin-surface :is(.gift-status.is-error,.rank-reward-message.is-error,.error){color:#ffbca9}
.iroha-admin-luxe .iroha-admin-surface :is(th,td){border-color:#ab95633b;color:#e2e8db}
.iroha-admin-luxe .iroha-admin-surface th{color:#ead19c;background:#223a2c}
.iroha-admin-luxe .iroha-admin-surface :is(hr,fieldset){border-color:var(--al-line)}
/* Dialogs keep their dimensions, scrolling, buttons and focus handling. */
.iroha-admin-luxe :is(.shop-qr-dialog,[data-slot="alert-dialog-content"]){color:#f1e4c6;background:linear-gradient(145deg,#23382d,#0f1e18);border:1px solid #bd9e60;box-shadow:0 30px 90px #000b;border-radius:18px}
.iroha-admin-luxe .shop-qr-dialog :is(h2,h3){color:#f3dfa9}
.iroha-admin-luxe .shop-qr-dialog p{color:#c4d1c4}
.iroha-admin-luxe .shop-qr-dialog input{background:#0b1913;color:#eee5c9;border:1px solid #b59c68;border-radius:7px;padding:10px}
.iroha-admin-luxe .shop-qr-dialog .secondary{background:#233a2b;color:#ead8af;border:1px solid #b9a06b;border-radius:8px}
.iroha-admin-luxe .shop-qr-dialog .shop-gift-primary{color:#21190c;background:linear-gradient(120deg,#f1d8a0,#cda25a);border-color:#e2c587}
.iroha-admin-luxe .shop-qr-image{padding:12px;background:white;border-radius:8px;box-sizing:border-box}
@media(hover:hover){
 .iroha-admin-luxe .admin .iroha-admin-switch-button[aria-pressed="false"]:hover{color:#f2dfb3;background:linear-gradient(135deg,#3c4d36,#1e3227);border-color:#cdb77b;box-shadow:0 7px 24px #0004}
 .iroha-admin-luxe .iroha-admin-surface button.primary:not(:disabled):hover{background:linear-gradient(120deg,#fff0cc,#e0bb78);box-shadow:0 6px 24px #d2ae552c}
 .iroha-admin-luxe .iroha-admin-surface button.secondary:not(:disabled):hover{background:#344d39;border-color:#dbc186;color:#fff0cb}
}
@media(max-width:700px){
 body.iroha-admin-luxe{background-attachment:scroll}
 .iroha-admin-luxe main{padding-bottom:32px}
 .iroha-admin-luxe .iroha-admin-surface{border-radius:16px;padding:22px 16px;margin-top:18px;box-shadow:0 15px 35px #0005}
 .iroha-admin-luxe .iroha-admin-surface::before{inset:6px;border-radius:11px}
 .iroha-admin-luxe .admin{padding-top:30px}
 .iroha-admin-luxe .admin>h1{font-size:34px;margin-bottom:22px}
 .iroha-admin-luxe .iroha-admin-surface>h2{font-size:24px}
 .iroha-admin-luxe .admin-bar{padding:12px;flex-wrap:wrap}
 .iroha-admin-luxe .admin .iroha-admin-switch{padding:16px 0 20px}
 .iroha-admin-luxe .admin .iroha-admin-switch-buttons{gap:8px}
 .iroha-admin-luxe .admin .iroha-admin-switch-button{min-height:64px;font-size:12px;padding:10px 7px}
 .iroha-admin-luxe .iroha-admin-surface :is(.book-design-admin-list>figure,.gift-admin-card){padding:10px}
 .iroha-admin-luxe .iroha-admin-surface .admin-list>div{padding:12px}
}
@media(prefers-reduced-motion:reduce){.iroha-admin-luxe *, .iroha-admin-luxe *::before,.iroha-admin-luxe *::after{transition:none!important}}
@media print{
 body.iroha-admin-luxe:has(.shop-qr-veil){background:white;color:#222}
 .iroha-admin-luxe .shop-qr-dialog{background:white;color:#222;border:0;box-shadow:none}
 .iroha-admin-luxe .shop-qr-dialog :is(h2,h3,p){color:#222}
 .iroha-admin-luxe .shop-qr-image{padding:0;box-shadow:none;border-radius:0}
}
/* Existing core login/settings boxes also use the same dark, readable surfaces. */
.iroha-admin-luxe .iroha-admin-surface .paper-box{color:#e6ebdd;background:linear-gradient(135deg,#253b2c,#102219);border:1px solid #bda36855;border-radius:13px;box-shadow:0 10px 25px #0003}
.iroha-admin-luxe .iroha-admin-surface .editor h2,.iroha-admin-luxe .iroha-admin-surface .paper-box h2{color:#f0d9a8;font-family:'Yu Mincho','Hiragino Mincho ProN',serif;line-height:1.5}
.iroha-admin-luxe .iroha-admin-surface .text-link{color:#ecd19b;text-decoration-color:#b39861;text-underline-offset:4px}
.iroha-admin-luxe .iroha-admin-surface .status-message{color:#eddfb8;background:#203a28;border:1px solid #8ea77766;border-radius:9px}
.iroha-admin-luxe .iroha-admin-surface .qr-frame{background:#fffdf7;border:1px solid #d4b775;border-radius:12px;box-shadow:0 12px 30px #0004}
.iroha-admin-luxe .iroha-admin-surface .qr-frame :is(p,a){color:#29443b}
