@import"https://fonts.googleapis.com/css2?family=Viga&display=swap";@import"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Viga&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap";:root{--color-primary: #1DD3B0;--color-primary-dark: #17B89A;--color-secondary: #0EA5B7;--color-text: #1a1a1a;--color-text-light: #4a4a4a;--color-text-muted: #6b7280;--color-bg: #ffffff;--color-bg-light: #f9fafb;--color-border: #e5e7eb;--font-titles: "Viga", sans-serif;--font-body: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans JP", "Hiragino Sans", sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--text-5xl: 3rem;--max-width: 1200px;--content-width: 720px;--container-padding: 2rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-lg: 4rem;--space-xl: 6rem;--space-2xl: 8rem;--blur-md: 12px;--shadow-2xl: 0 20px 40px rgba(0, 0, 0, .15);--radius-full: 9999px;--transition-slow: .4s ease;--z-modal: 1000;--color-background: var(--color-bg);--font-heading: var(--font-titles);--color-text-secondary: var(--color-text-light)}*{box-sizing:border-box;margin:0;padding:0}::selection{background:var(--color-primary);color:#fff}::-moz-selection{background:var(--color-primary);color:#fff}html{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text)}body{margin:0;padding:0;line-height:1.6}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;line-height:1.3;font-family:var(--font-titles);font-weight:400}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}p{margin:1rem 0}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-dark);text-decoration:underline}img{max-width:100%;height:auto;display:block}code{font-family:var(--font-mono);background:var(--color-bg-light);padding:.2em .4em;border-radius:3px;font-size:.9em}pre{background:var(--color-bg-light);padding:1rem;border-radius:8px;overflow-x:auto;margin:1.5rem 0}pre code{background:none;padding:0}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--container-padding)}@media(max-width:768px){.container{padding:0 var(--space-6)}}@media(max-width:450px){.container{padding:0 var(--space-4)}}.content{max-width:var(--content-width);margin:0 auto}input,button,textarea,select{font:inherit;color:inherit}ul,ol{list-style:none}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:500;border-radius:.5rem;transition:all .3s;cursor:pointer;text-decoration:none;border:2px solid var(--color-primary);background-color:transparent;color:var(--color-primary)}.btn:hover{background-color:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.site-header{position:sticky;top:0;left:0;width:100%;padding:1rem 0;background:#fffffff2;transition:all .3s;z-index:1000;border-bottom:1px solid var(--color-border);backdrop-filter:blur(8px)}.site-header .container{display:flex;justify-content:space-between;align-items:center}.site-header .nav{display:flex;justify-content:space-between;align-items:center;width:100%}.site-header .logo{display:flex;align-items:center}.site-header .logo img,.site-header .logo-img{height:80px;width:auto}.site-header .nav-links{display:flex;gap:2rem;align-items:center;margin-left:auto}.nav-tab-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:none;color:var(--color-text);font-size:1rem;font-weight:500;cursor:pointer;transition:color .3s;position:relative;border-radius:.5rem}.nav-tab-button .tab-icon{font-size:1.25rem}.nav-tab-button:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-primary);transition:width .3s}.nav-tab-button:hover,.nav-tab-button.active{color:var(--color-primary)}.nav-tab-button:hover:after,.nav-tab-button.active:after{width:100%}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--color-border);border-radius:.5rem;cursor:pointer;transition:all .3s;font-size:.875rem;color:var(--color-text)}.user-menu-trigger:hover{border-color:var(--color-primary);background:#34d3990d}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-email{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{transition:transform .3s}.user-menu-trigger:hover .dropdown-arrow{transform:translateY(2px)}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border:1px solid var(--color-border);border-radius:.5rem;box-shadow:0 10px 25px #0000001a;min-width:200px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s;z-index:1000}.user-menu-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.user-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--color-text);font-size:.875rem;cursor:pointer;transition:background .2s;text-align:left}.user-menu-item:hover{background:var(--color-bg-light);color:#ef4444}.user-menu-item svg{color:currentColor}.site-header .nav-links a,.site-header .nav-link{color:var(--color-text);font-size:1rem;font-weight:500;transition:color .3s;position:relative;text-decoration:none}.site-header .nav-links a:after,.site-header .nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-primary);transition:width .3s}.site-header .nav-links a:hover,.site-header .nav-links a.active,.site-header .nav-link:hover,.site-header .nav-link.active{color:var(--color-primary)}.site-header .nav-links a:hover:after,.site-header .nav-links a.active:after,.site-header .nav-link:hover:after,.site-header .nav-link.active:after{width:100%}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:1rem;padding:2rem;transition:all .3s}.card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001a;border-color:var(--color-primary)}.form-group{margin-bottom:1.5rem}.form-group label{font-size:.9rem;color:var(--color-text);font-weight:500;display:block;margin-bottom:.5rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password]{width:100%;padding:.75rem 1rem;font-size:1rem;color:var(--color-text);background:#fff;border:1px solid var(--color-border);border-radius:.5rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:var(--color-primary)}.form-error{color:#ef4444;font-size:.9rem;margin-top:.5rem}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-light);padding:2rem}.auth-card{background:var(--color-bg);border:2px solid var(--color-border);border-radius:1rem;padding:3rem;max-width:450px;width:100%;box-shadow:0 4px 6px #0000000d}.auth-logo{text-align:center;margin-bottom:2rem}.auth-logo img{height:60px;margin:0 auto}.auth-card h1{text-align:center;margin-bottom:2rem;color:var(--color-text);font-size:2rem}.dashboard-container{min-height:calc(100vh - 100px);background:var(--color-bg-light)}.dashboard-header{background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:1.5rem 0}.dashboard-content{padding:2rem 0;min-height:auto}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}@media(max-width:768px){.site-header .logo img,.site-header .logo-img{height:60px}.site-header .nav-links{display:none}.auth-card{padding:2rem}.metrics-grid{grid-template-columns:1fr}}.account-page{max-width:860px}.page-title{font-size:2rem;margin-bottom:1.5rem}.panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.75rem;margin-bottom:1.5rem}.panel-title{font-size:1.25rem;margin-bottom:1.25rem}.panel-intro{color:var(--color-text-muted);font-size:.9375rem;margin:-.5rem 0 1.25rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1.25rem}.field-label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.field-hint{font-size:.85rem;color:var(--color-text-muted);margin-top:.25rem}.form-group input[readonly]{background:var(--color-bg-light);color:var(--color-text-muted);cursor:not-allowed}.form-message{font-size:.9375rem;margin:0 0 1rem;padding:.625rem .875rem;border-radius:8px}.form-message[hidden]{display:none}.form-message-success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.form-message-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.badge{display:inline-block;padding:.125rem .625rem;font-size:.8125rem;font-weight:600;border-radius:999px;white-space:nowrap}.badge-role-admin{color:#5b21b6;background:#ede9fe}.badge-role-agent{color:#0f766e;background:#ccfbf1}.badge-status-active{color:#047857;background:#d1fae5}.badge-status-invited{color:#b45309;background:#fef3c7}.badge-status-disabled,.badge-status-other{color:#4b5563;background:#e5e7eb}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table th,.data-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table th{font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.data-table .empty-cell{text-align:center;color:var(--color-text-muted)}.actions-cell{text-align:right;white-space:nowrap}.row-action{margin-left:.5rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;color:var(--color-text);background:transparent;border:1px solid var(--color-border);border-radius:8px;cursor:pointer}.row-action:hover,.row-action:focus-visible{border-color:var(--color-primary);color:var(--color-primary-dark);outline:none}.row-action-danger:hover,.row-action-danger:focus-visible{border-color:#ef4444;color:#ef4444}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.user-menu-link{text-decoration:none}.user-menu-link:hover{color:var(--color-primary-dark)}.user-menu-item[hidden]{display:none}@media(max-width:640px){.field-row{grid-template-columns:1fr}.panel{padding:1.25rem}}
