@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
:root{--sakura:#ffb7c5;--sakura-deep:#ff9eb5;--mint:#98d8c8;--mint-deep:#7bc4b2;--sky:#a8d8ea;--warm-bg:#faf8f5;--card-bg:#ffffff;--text-primary:#4a4a4a;--text-secondary:#7a7a7a;--border-light:#e8e4e0;--border-soft:#f0ece8;--shadow-soft:rgba(0,0,0,0.06);--shadow-medium:rgba(0,0,0,0.1)}
*{scrollbar-color:var(--sakura) var(--warm-bg);scrollbar-width:thin;font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--warm-bg);border-radius:4px}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--sakura),var(--sakura-deep));border-radius:4px;border:2px solid var(--warm-bg)}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--sakura-deep),#ff8da8)}
::-webkit-scrollbar-corner{background:var(--warm-bg)}
body{background:linear-gradient(170deg,var(--warm-bg) 0%,#f5f2ee 40%,var(--warm-bg) 100%)!important;color:var(--text-primary)!important;position:relative;min-height:100vh;font-weight:400;line-height:1.6}
body::before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 80%,rgba(255,183,197,0.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(152,216,200,0.08) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(168,216,234,0.05) 0%,transparent 60%);pointer-events:none;z-index:99998}
header,header *,nav,[class*=nav],[class*=header],[class*=top-bar]{background:rgba(255,255,255,0.92)!important;border-bottom:1px solid var(--border-light)!important;box-shadow:0 2px 20px var(--shadow-soft)!important;backdrop-filter:blur(10px)!important}
.card,[class*=card],[class*=panel],[class*=box],[class*=container]{background:var(--card-bg)!important;border:1px solid var(--border-light)!important;box-shadow:0 4px 24px var(--shadow-soft),0 1px 3px var(--shadow-soft)!important;border-radius:12px!important;position:relative;overflow:hidden;transition:all 0.3s ease}
.card:hover,[class*=card]:hover,[class*=panel]:hover{box-shadow:0 8px 32px var(--shadow-medium)!important;transform:translateY(-2px)}
.card::before,[class*=card]::before,[class*=panel]::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--sakura),var(--mint),var(--sky),var(--sakura));background-size:300% 100%;animation:gradientShift 8s ease infinite;border-radius:12px 12px 0 0}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
input,textarea,select,[class*=input]{background:var(--card-bg)!important;border:2px solid var(--border-light)!important;color:var(--text-primary)!important;padding:12px 16px!important;border-radius:10px!important;transition:all 0.3s ease!important;font-size:14px}
input:focus,textarea:focus{box-shadow:0 0 0 4px rgba(255,183,197,0.15)!important;border-color:var(--sakura)!important;outline:none!important}
input::placeholder,textarea::placeholder{color:var(--text-secondary)!important;opacity:0.6}
a{color:var(--mint-deep)!important;text-shadow:none;transition:all 0.3s;font-weight:500}
a:hover{color:var(--sakura-deep)!important;text-shadow:none}
a.router-link-active,[class*=active]{color:var(--sakura-deep)!important;font-weight:600}
.badge,[class*=badge],[class*=tag]{background:linear-gradient(135deg,var(--mint),var(--mint-deep))!important;color:#fff!important;text-shadow:none;border-radius:16px!important;padding:4px 12px!important;font-size:.8em;font-weight:500}
.progress,[class*=progress]{background:var(--border-soft)!important;border:none!important;border-radius:12px!important;overflow:hidden;height:8px!important}
.progress-bar,[class*=progress-bar]{background:linear-gradient(90deg,var(--sakura),var(--mint),var(--sky))!important;background-size:200% 100%;animation:gradientShift 3s ease infinite;border-radius:12px}
h1,h2,h3,h4{color:var(--text-primary)!important;text-shadow:none!important;font-weight:700!important;letter-spacing:0.5px}
h1{font-size:2em}h2{font-size:1.6em}h3{font-size:1.3em}h4{font-size:1.1em}
::selection{background:var(--sakura);color:#fff}
[class*=modal],[class*=dialog],[class*=popup]{background:var(--card-bg)!important;border:1px solid var(--border-light)!important;border-radius:16px!important;box-shadow:0 20px 60px var(--shadow-medium)!important}
[class*=modal] [class*=header],[class*=dialog] [class*=header]{background:linear-gradient(90deg,var(--sakura),var(--mint))!important;color:#fff!important;border-radius:16px 16px 0 0!important;border:none!important}
[class*=dropdown],[class*=menu]{background:var(--card-bg)!important;border:1px solid var(--border-light)!important;border-radius:12px!important;box-shadow:0 8px 32px var(--shadow-soft)!important}
[class*=dropdown] [class*=item]:hover,[class*=menu] [class*=item]:hover{background:rgba(255,183,197,0.1)!important;color:var(--sakura-deep)!important}
#loader-wrapper{background:var(--warm-bg)!important}
.loader{--size:32px;--duration:800ms;width:96px;height:64px;top:40%;left:50%;transform:translate(-50%,-50%);position:relative}
.load_title{font-family:'Noto Sans JP',sans-serif!important;color:var(--text-secondary)!important;font-size:16px!important;font-weight:300!important;letter-spacing:2px}
footer,[class*=footer]{background:linear-gradient(180deg,#f5f2ee,var(--warm-bg))!important;border-top:1px solid var(--border-light)!important;color:var(--text-secondary)!important}
[class*=sidebar],[class*=aside]{background:var(--card-bg)!important;border-right:1px solid var(--border-light)!important}
[class*=sidebar] [class*=item]:hover,[class*=aside] [class*=item]:hover{background:rgba(152,216,200,0.1)!important;color:var(--mint-deep)!important;border-radius:0 20px 20px 0!important}
pre,code,[class*=code]{background:#f5f2ee!important;border:1px solid var(--border-light)!important;border-radius:8px!important;color:var(--text-primary)!important;font-family:'Fira Code',monospace!important}
[class*=tab]{border-bottom:2px solid var(--border-light)!important}
[class*=tab][class*=active]{border-bottom:2px solid var(--sakura)!important;color:var(--sakura-deep)!important;font-weight:600}
[class*=pagination] [class*=active]{background:var(--sakura)!important;color:#fff!important;border-radius:20px!important}
[class*=pagination] [class*=item]:hover:not([class*=active]){background:rgba(255,183,197,0.1)!important;color:var(--sakura-deep)!important;border-radius:20px!important}
[class*=switch][class*=checked]{background:var(--mint)!important}
[class*=slider]{background:var(--border-light)!important;border-radius:10px!important}
[class*=slider] [class*=handle]{background:var(--card-bg)!important;box-shadow:0 2px 8px var(--shadow-soft)!important;border-radius:50%!important}
.sakura-petal{position:fixed;top:-10%;width:15px;height:15px;background:linear-gradient(135deg,var(--sakura),var(--sakura-deep));border-radius:150% 0 150% 0;animation:fall linear infinite;pointer-events:none;z-index:99999;opacity:0.7}
@keyframes fall{0%{transform:translate(0,0) rotate(0deg);opacity:0.7}100%{transform:translate(100px,100vh) rotate(720deg);opacity:0}}
[class*=divider]{border-color:var(--border-light)!important}
[class*=divider]::before,[class*=divider]::after{border-color:var(--border-light)!important}
[class*=empty]{color:var(--text-secondary)!important}
[class*=empty] [class*=icon]{color:var(--sakura)!important;opacity:0.5}
[class*=tooltip]{background:var(--text-primary)!important;color:#fff!important;border-radius:8px!important;padding:6px 12px!important;font-size:12px!important;box-shadow:0 4px 12px var(--shadow-medium)!important}
[class*=notification]{border-radius:12px!important;box-shadow:0 4px 20px var(--shadow-medium)!important}
[class*=notification][class*=success]{border-left:4px solid var(--mint)!important}
[class*=notification][class*=error]{border-left:4px solid var(--sakura)!important}
[class*=notification][class*=warning]{border-left:4px solid #ffd93d!important}
[class*=notification][class*=info]{border-left:4px solid var(--sky)!important}
