*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Noto Sans JP,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;color:#333;background:#fff;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:#113178;text-decoration:none}a:hover{text-decoration:underline}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;padding:40px 0}.app-header{background:#113178;color:#fff;padding:0 24px;position:sticky;top:0;z-index:100}.app-header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;height:64px;gap:32px}.app-logo{color:#fff;font-size:20px;font-weight:700;letter-spacing:2px;text-decoration:none}.app-nav{display:flex;gap:24px;flex:1}.app-nav-link{color:#ffffffd9;font-size:14px;text-decoration:none;transition:color .2s}.app-nav-link:hover{color:#fff;text-decoration:none}.app-header-actions,.app-user-menu{display:flex;align-items:center;gap:12px}.app-user-name{font-size:14px;color:#ffffffe6}.app-footer{background:#1a1a2e;color:#fff9;text-align:center;padding:24px;font-size:13px}.section{padding:20px 0}.container{max-width:1000px;margin:0 auto;padding:0 24px}h1{font-size:28px;color:#113178;margin-bottom:24px;border-bottom:2px solid #113178;padding-bottom:8px}h2{font-size:20px;color:#113178;margin-bottom:16px}h3{font-size:16px;color:#113178;margin-bottom:8px}.section-description{color:#465d68;margin-bottom:32px}.welcome-message{font-size:18px;color:#465d68;margin-bottom:32px}.app-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 20px;border-radius:4px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:background .2s,opacity .2s;text-decoration:none}.app-btn:hover{text-decoration:none;opacity:.9}.app-btn-primary{background:#113178;color:#fff}.app-btn-outline{background:transparent;color:#113178;border:1px solid #113178}.app-header .app-btn-outline{color:#fff;border-color:#ffffffb3}.app-btn-danger{color:#dc2626;border-color:#dc2626}.app-btn-large{padding:14px 40px;font-size:16px}.app-btn-small{padding:4px 12px;font-size:12px}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:32px}.dashboard-card{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;padding:24px;transition:box-shadow .2s,border-color .2s;text-decoration:none;color:inherit;display:block}.dashboard-card:hover{box-shadow:0 4px 12px #00000014;border-color:#113178;text-decoration:none}.dashboard-card p{color:#465d68;font-size:14px}.stat-number{font-size:36px;font-weight:700;color:#113178;margin:8px 0 4px}.stat-sub{font-size:13px;color:#888}.profile-card{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;padding:24px;margin-bottom:24px}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.profile-header h2{margin-bottom:0}.info-list{display:grid;grid-template-columns:160px 1fr;gap:8px 16px}.info-list dt{font-weight:600;color:#465d68;font-size:14px}.info-list dd{font-size:14px}.info-note{font-size:13px;color:#888;margin-top:12px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:600;color:#465d68;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#113178;box-shadow:0 0 0 2px #11317826}.profile-form{max-width:480px}.search-bar{display:flex;gap:12px;margin-bottom:24px}.search-input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.filter-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #e2e8f0}.data-table th{background:#f1f5f9;font-weight:600;color:#465d68;font-size:13px}.data-table tr:hover{background:#f8f9fa}.status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.status-paid{background:#dcfce7;color:#166534}.status-unpaid{background:#fef9c3;color:#854d0e}.status-cancelled{background:#f3f4f6;color:#6b7280}.status-active{background:#dcfce7;color:#166534}.status-pending_payment{background:#fef9c3;color:#854d0e}.status-suspended{background:#fee2e2;color:#991b1b}.discord-card{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;padding:24px;margin-bottom:24px}.discord-status{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.status-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.discord-linked .status-icon{background:#dcfce7;color:#166534}.discord-unlinked .status-icon{background:#f3f4f6;color:#6b7280}.discord-status-text{font-weight:600;font-size:16px}.discord-username{color:#465d68}.discord-info{margin-top:32px}.discord-info ul{padding-left:20px}.discord-info li{margin-bottom:8px;color:#465d68;font-size:14px}.login-actions{text-align:center;margin:40px 0}.login-help{text-align:center;color:#465d68;font-size:14px}.empty-state{text-align:center;padding:48px 24px;color:#465d68}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;color:#465d68;font-size:16px}@media(max-width:768px){.app-header-inner{gap:16px}.app-nav{display:none}.dashboard-cards,.info-list{grid-template-columns:1fr}.info-list dt{margin-top:8px}.search-bar{flex-direction:column}.data-table{font-size:12px}.data-table th,.data-table td{padding:8px 6px}}
