:root{--bg-primary:#07070f;--bg-secondary:#0b0b18;--glass-bg:#ffffff09;--glass-bg-hover:#fff1;--glass-border:#ffffff14;--glass-border-hover:#ffffff29;--glass-blur:blur(20px);--gold:#c9a55a;--gold-light:#e2c07a;--gold-dark:#a8843e;--gold-glow:#c9a55a2e;--gold-shadow:0 8px 24px #c9a55a47;--text-100:#f5f2ed;--text-200:#f5f2ed9e;--text-300:#f5f2ed59;--pending-bg:#fbbf241a;--pending-color:#fbbf24;--pending-border:#fbbf2447;--active-bg:#4ade801a;--active-color:#4ade80;--active-border:#4ade8047;--inactive-bg:#9ca3af1a;--inactive-color:#9ca3af;--inactive-border:#9ca3af38;--cancelled-bg:#f871711a;--cancelled-color:#f87171;--cancelled-border:#f8717147;--radius-s:8px;--radius-m:12px;--radius-l:18px;--radius-xl:24px;--ease:.22s cubic-bezier(.4, 0, .2, 1);--ease-out:.32s cubic-bezier(0, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;overflow-x:hidden}body{background:var(--bg-primary);color:var(--text-100);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Noto Sans JP,system-ui,-apple-system,sans-serif;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}.page-bg{background:radial-gradient(ellipse 60% 50% at 18% 40%, #7c9ef812 0%, transparent 100%), radial-gradient(ellipse 50% 60% at 82% 18%, #c9a55a17 0%, transparent 100%), radial-gradient(ellipse 40% 40% at 55% 88%, #4ade800a 0%, transparent 100%), linear-gradient(160deg, var(--bg-primary) 0%, var(--bg-secondary) 60%, var(--bg-primary) 100%);min-height:100vh}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);transition:border-color var(--ease), box-shadow var(--ease);box-shadow:0 8px 32px #00000073,inset 0 1px #ffffff0d}.glass-card:hover{border-color:var(--glass-border-hover);box-shadow:0 16px 48px #00000080,inset 0 1px #ffffff14}.btn{border-radius:var(--radius-m);letter-spacing:.02em;cursor:pointer;transition:transform var(--ease), box-shadow var(--ease), background var(--ease), opacity var(--ease), border-color var(--ease);white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:.875rem;font-weight:600;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 3px var(--gold-glow)}.btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-primary{background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);color:#1a1200;box-shadow:var(--gold-shadow)}.btn-primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 12px 32px #c9a55a6b}.btn-primary:not(:disabled):active{box-shadow:var(--gold-shadow);transform:translateY(0)}.btn-secondary{background:var(--glass-bg);color:var(--text-200);border:1px solid var(--glass-border)}.btn-secondary:not(:disabled):hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--text-100);transform:translateY(-1px)}.btn-approve{color:#fff;border-radius:var(--radius-s);background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);padding:7px 16px;font-size:.8rem;box-shadow:0 3px 12px #22c55e40}.btn-approve:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 6px 20px #22c55e6b}.badge{letter-spacing:.07em;text-transform:uppercase;border:1px solid;border-radius:100px;align-items:center;gap:5px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.badge-pending{background:var(--pending-bg);color:var(--pending-color);border-color:var(--pending-border)}.badge-active{background:var(--active-bg);color:var(--active-color);border-color:var(--active-border)}.badge-inactive{background:var(--inactive-bg);color:var(--inactive-color);border-color:var(--inactive-border)}.badge-cancelled{background:var(--cancelled-bg);color:var(--cancelled-color);border-color:var(--cancelled-border)}.form-group{flex-direction:column;gap:7px;display:flex}.form-label{color:var(--text-200);letter-spacing:.02em;font-size:.82rem;font-weight:500}.required{color:#f87171;margin-left:3px}.form-input,.form-select{border-radius:var(--radius-m);width:100%;color:var(--text-100);transition:border-color var(--ease), box-shadow var(--ease), background var(--ease);appearance:none;background:#ffffff0b;border:1px solid #ffffff1a;outline:none;padding:12px 15px;font-family:inherit;font-size:.9rem}.form-input:focus,.form-select:focus{box-shadow:0 0 0 3px var(--gold-glow);background:#ffffff12;border-color:#c9a55a8c}.form-input::placeholder{color:var(--text-300)}.form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(245,242,237,0.4)' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.form-select option{color:var(--text-100);background:#0d0d1a}.form-hint{color:var(--text-300);margin-top:2px;font-size:.78rem}.error-box{border-radius:var(--radius-m);color:#fca5a5;background:#f8717114;border:1px solid #f8717138;align-items:flex-start;gap:10px;padding:12px 16px;font-size:.85rem;line-height:1.5;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #1a120040;border-top-color:#1a1200d9;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.65s linear infinite spin;display:inline-block}.spinner-white{border-color:#ffffffe6 #ffffff40 #ffffff40}@keyframes circle-scale{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes checkmark-draw{0%{stroke-dashoffset:100px;opacity:0}20%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%{box-shadow:0 0 #fbbf2480}70%{box-shadow:0 0 0 8px #fbbf2400}to{box-shadow:0 0 #fbbf2400}}.anim-circle{animation:.5s cubic-bezier(.34,1.56,.64,1) forwards circle-scale}.anim-check{stroke-dasharray:100;stroke-dashoffset:100px;animation:.55s .35s forwards checkmark-draw}.anim-fade-up{opacity:0;animation:.45s forwards fade-up}.delay-1{animation-delay:.55s}.delay-2{animation-delay:.78s}
