*{box-sizing:border-box}body{color:#1f2430;background:#f5f6f8;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}input{font:inherit;border:1px solid #e2e5ea;border-radius:8px;padding:8px}button{color:#fff;font:inherit;cursor:pointer;background:#5a7be0;border:none;border-radius:8px;padding:8px 16px}button:hover{background:#4863c4}button.danger{background:#dc2626}button.danger:hover{background:#b91c1c}button.secondary{color:#5a7be0;background:0 0;border:1px solid #5a7be0}button.secondary:hover{color:#fff;background:#5a7be0}button:disabled{opacity:.6;cursor:default}.permission-denied{text-align:center;color:#6b7280;padding:24px}.pg-page__note{color:#6b7280;font-size:.9rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-loading{text-align:center;color:#6b7280;padding:24px}.device-guard{background:#fff;border:1px solid #bf7497;border-radius:8px;padding:24px}.device-guard h2{color:#bf7497;margin-top:0}.device-guard__actions{align-items:center;gap:16px;display:flex}.layout{flex-direction:column;min-height:100vh;display:flex}.layout-header{background:#fff;border-bottom:1px solid #e2e5ea;align-items:center;gap:24px;padding:8px 24px;display:flex}.layout-header__toggle{background:0 0;border:1px solid #e2e5ea;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;margin-left:auto;padding:0;display:none}.layout-header__toggle:hover{background:#f5f6f8}.layout-header__toggle-bar{background:#1f2430;width:20px;height:2px;margin:0 auto;display:block}.layout-header__menu{flex:1;justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.layout-brand{color:#5a7be0;font-size:1.25rem;font-weight:700;text-decoration:none}.layout-nav{flex-wrap:wrap;gap:4px 16px;display:flex}.layout-nav a{color:#6b7280;white-space:nowrap;border-bottom:2px solid #0000;padding:4px 0;text-decoration:none}.layout-nav a:hover{color:#1f2430}.layout-nav a.active{color:#5a7be0;border-bottom-color:#5a7be0}.layout-scope{color:#1f2430;white-space:nowrap;text-overflow:ellipsis;border:1px solid #e2e5ea;border-radius:8px;max-width:16em;padding:4px 8px;font-size:.9rem;text-decoration:none;overflow:hidden}.layout-scope:before{content:"🏢 "}.layout-scope:hover{color:#5a7be0;border-color:#5a7be0}.layout-user{flex-shrink:0;align-items:center;gap:16px;display:flex}.layout-user__name{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;max-width:12em;overflow:hidden}.layout-user__remaining{color:#6b7280;font-size:.9rem}.layout-user__remaining--soon{color:#dc2626;font-weight:700}.layout-user__logout{white-space:nowrap;color:#5a7be0;background:0 0;border:1px solid #5a7be0;padding:4px 16px}.layout-user__logout:hover{color:#fff;background:#5a7be0}.layout-content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:24px}.layout-footer{color:#6b7280;background:#fff;border-top:1px solid #e2e5ea;justify-content:space-between;gap:16px;padding:8px 24px;display:flex}@media (width<=768px){.layout-header{flex-wrap:wrap;gap:8px;padding:8px 16px}.layout-header__toggle{display:flex}.layout-header__menu{border-top:1px solid #e2e5ea;flex-direction:column;flex:0 0 100%;align-items:stretch;gap:0;padding-top:8px;display:none}.layout-header--open .layout-header__menu{display:flex}.layout-nav{flex-direction:column;gap:0}.layout-nav a{border-bottom:none;border-left:3px solid #0000;border-radius:0;padding:8px 16px}.layout-nav a.active{background:#f5f6f8;border-left-color:#5a7be0}.layout-user{border-top:1px solid #e2e5ea;flex-direction:column;align-items:stretch;gap:8px;margin-top:8px;padding:8px 16px 0}.layout-user__name,.layout-user__remaining{padding:0 4px}.layout-scope,.layout-user__name{max-width:none}.layout-content{padding:16px}.layout-footer{flex-wrap:wrap;padding:8px 16px}}.org-page__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.org-page__header h1{margin:0}.org-page__error{color:#dc2626}.org-page__note{color:#6b7280;font-size:.9rem}.org-page h2{margin:24px 0 8px;font-size:1.1rem}.org-table{border-collapse:collapse;background:#fff;width:100%}.org-table th,.org-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e5ea;padding:8px}.org-table__actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.org-table__empty{text-align:center;color:#6b7280}.org-table tr.is-me{background:#5a7be00f}.org-form{flex-direction:column;gap:16px;max-width:640px;display:flex}.org-form__field{flex-direction:column;gap:4px;display:flex}.org-form__field label{color:#6b7280;font-size:.9rem}.org-form__actions{gap:8px;display:flex}.org-form pre{background:#fff;border:1px solid #e2e5ea;border-radius:8px;margin:0;padding:8px;font-size:.8rem}.org-tree{background:#fff;border:1px solid #e2e5ea;border-radius:8px;padding:8px 16px}.org-tree details{border-left:2px solid #e2e5ea;margin:4px 0;padding-left:16px}.org-tree summary{cursor:pointer;font-weight:600}.org-tree ul{margin:4px 0;padding-left:24px}.org-tree li{margin:4px 0}.org-tree__kind{color:#6b7280;background:#e2e5ea;border-radius:8px;margin-right:4px;padding:1px 4px;font-size:.75rem;font-weight:400}.org-tree__rank{color:#6b7280;font-size:.85rem}.unit-row{align-items:center;gap:8px;display:inline-flex}.unit-row button{padding:2px 8px;font-size:.8rem}.unit-row input{padding:2px 8px;font-size:.9rem}.unit-row input[type=number]{width:5em}.unit-add{align-items:center;gap:4px;margin:4px 0;display:inline-flex}.unit-add input{padding:2px 8px;font-size:.9rem}.unit-add input[type=number]{width:5em}.unit-add button{padding:2px 8px;font-size:.8rem}.position-select{flex-wrap:wrap;gap:8px;display:flex}.position-select label{color:#6b7280;flex-direction:column;gap:2px;font-size:.8rem;display:flex}.position-select select{font:inherit;border:1px solid #e2e5ea;border-radius:8px;padding:4px}.org-select{max-width:480px;margin:0 auto}.org-select__list{flex-direction:column;gap:8px;margin:16px 0;display:flex}.org-select__option{text-align:left;color:#1f2430;background:#fff;border:1px solid #e2e5ea;padding:16px}.org-select__option:hover{color:#5a7be0;background:#fff;border-color:#5a7be0}.org-select__option.is-active{border-color:#5a7be0}.audit-page__caution{color:#1f2430;background:#bf74970f;border:1px solid #bf7497;border-radius:8px;padding:8px}.audit-scope{flex-wrap:wrap;gap:16px;display:flex}.audit-scope label{align-items:center;gap:4px;font-size:.9rem;display:flex}.audit-filters{background:#fff;border:1px solid #e2e5ea;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:16px;margin:16px 0 8px;padding:16px;display:flex}.audit-filters__field{flex-direction:column;gap:4px;display:flex}.audit-filters__field>label,.audit-filters__field>span{color:#6b7280;font-size:.85rem}.audit-filters__field select{font:inherit;background:#fff;border:1px solid #e2e5ea;border-radius:8px;padding:8px}.audit-filters__field input[type=number]{width:9em}.audit-filters__period{align-items:center;gap:4px;display:flex}.audit-filters__actions{gap:8px;display:flex}.audit-types{position:relative}.audit-types summary{cursor:pointer;background:#fff;border:1px solid #e2e5ea;border-radius:8px;min-width:12em;padding:8px}.audit-types__panel{z-index:10;background:#fff;border:1px solid #e2e5ea;border-radius:8px;flex-wrap:wrap;gap:16px;width:min(720px,90vw);margin-top:4px;padding:16px;display:flex;position:absolute;box-shadow:0 4px 12px #00000014}.audit-types__group{border:1px solid #e2e5ea;border-radius:8px;flex-direction:column;gap:2px;margin:0;padding:4px 8px;display:flex}.audit-types__group legend{color:#6b7280;font-size:.8rem}.audit-types__group label{white-space:nowrap;align-items:center;gap:4px;font-size:.85rem;display:flex}.audit-types__clear{align-self:flex-end;padding:4px 8px;font-size:.85rem}.audit-pager{color:#6b7280;justify-content:flex-end;align-items:center;gap:8px;margin:8px 0;font-size:.9rem;display:flex}.audit-pager button{padding:4px 8px;font-size:.85rem}.audit-table-wrap{overflow-x:auto}.audit-table{font-size:.9rem}.audit-table__time{white-space:nowrap}.audit-table__details{word-break:break-word;min-width:16em}.audit-outcome{white-space:nowrap;border-radius:8px;padding:1px 8px;font-size:.75rem;display:inline-block}.audit-outcome--success{color:#16a34a;background:#16a34a1f}.audit-outcome--failure{color:#dc2626;background:#dc26261f}.desktop-page{justify-content:center;align-items:flex-start;min-height:100vh;padding:24px;display:flex}.desktop-card{background:#fff;border:1px solid #e2e5ea;border-radius:8px;flex-direction:column;gap:16px;width:100%;max-width:640px;padding:24px;display:flex}.desktop-card h1{color:#5a7be0;margin:0;font-size:1.4rem}.desktop-card h2{margin:0;font-size:1.1rem}.desktop-card__state{border:1px solid #e2e5ea;border-radius:8px;padding:8px 16px}.desktop-card__state p{margin:4px 0}.desktop-card__state--ok{border-color:#16a34a}.desktop-card__state--ng{border-color:#bf7497}.desktop-card__form{flex-direction:column;gap:8px;display:flex}.desktop-card__note{color:#6b7280;margin:0;font-size:.85rem}.desktop-card__error{color:#dc2626;margin:0}.desktop-card__warning{color:#bf7497;border:1px solid #bf7497;border-radius:8px;margin:0;padding:8px}.desktop-card__info{color:#16a34a;border:1px solid #16a34a;border-radius:8px;margin:0;padding:8px}.desktop-card__pc dl{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;font-size:.9rem;display:grid}.desktop-card__pc dl dt{color:#6b7280}.desktop-card__pc dl dd{word-break:break-all;margin:0}.qr-scanner{flex-direction:column;gap:8px;display:flex}.qr-scanner__preview{border-radius:8px;line-height:0;position:relative;overflow:hidden}.qr-scanner__video{aspect-ratio:16/9;object-fit:cover;background:#000;border-radius:8px;width:100%;display:block}.qr-scanner__guide{aspect-ratio:1;pointer-events:none;border:3px dashed #ffffffe6;border-radius:8px;height:85%;position:absolute;top:7.5%;left:50%;transform:translate(-50%);box-shadow:0 0 0 9999px #00000059}.qr-scanner__hint{color:#6b7280;margin:0;font-size:.9rem}.qr-scanner__camera{align-items:center;gap:8px;font-size:.9rem;display:flex}.qr-scanner__camera select{flex:1;min-width:0}.qr-scanner__notice{color:#6b7280;margin:0;font-size:.9rem}.qr-scanner__error{color:#dc2626;margin:0;font-size:.9rem}.qr-code{flex-direction:column;align-items:center;display:flex}.qr-code canvas{max-width:100%;height:auto}.qr-code__error{color:#dc2626}.qr-fullscreen{z-index:1000;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.qr-fullscreen__remaining{font-size:1.1rem;font-weight:700}.qr-fullscreen__remaining--soon{color:#dc2626}.qr-fullscreen__hint{color:#6b7280;text-align:center;margin:0;font-size:.85rem}.qr-fullscreen__text{width:100%;max-width:640px;font-family:monospace;font-size:.75rem}.qr-fullscreen__actions{gap:8px;display:flex}.home-error{color:#dc2626}.home-form{gap:8px;margin-bottom:16px;display:flex}.home-table{border-collapse:collapse;background:#fff;width:100%}.home-table th,.home-table td{text-align:left;border-bottom:1px solid #e2e5ea;padding:8px}.status-badge{color:#fff;border-radius:8px;padding:2px 8px;font-size:.85rem}.status-badge.status-active{background:#16a34a}.status-badge.status-inactive{background:#6b7280}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border:1px solid #e2e5ea;border-radius:8px;flex-direction:column;gap:16px;width:100%;max-width:400px;padding:24px;display:flex}.login-card--qr{max-width:760px}.login-card__brand{text-align:center;color:#5a7be0;margin:0;font-size:1.5rem}.login-card__field{flex-direction:column;gap:4px;display:flex}.login-card__field label{color:#6b7280;font-size:.9rem}.login-card__error{color:#dc2626;margin:0}.login-card__info{color:#16a34a;border:1px solid #16a34a;border-radius:8px;margin:0;padding:8px}.login-card__links{text-align:right;margin:0;font-size:.9rem}.login-card__warning{color:#bf7497;border:1px solid #bf7497;border-radius:8px;margin:0;padding:8px}.login-card__submit{width:100%}.login-card__submit:disabled{opacity:.6;cursor:default}.login-card__lead{margin:0;font-size:.9rem}.login-card__links--split{justify-content:space-between;display:flex}.login-card__link-button{color:#5a7be0;background:0 0;padding:0;font-size:.9rem;text-decoration:underline}.login-card__link-button:hover{color:#4863c4;background:0 0}.login-card__link-button:disabled{opacity:.6;cursor:default}.login-card__note{color:#6b7280;margin:0;font-size:.85rem}.user-state{white-space:nowrap;border-radius:8px;padding:1px 8px;font-size:.75rem;display:inline-block}.user-state--active{color:#16a34a;background:#16a34a1f}.user-state--pending{color:#bf7497;background:#bf74971f}.user-state--inactive{color:#6b7280;background:#e2e5ea}.user-toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.user-toolbar label{color:#6b7280;align-items:center;gap:4px;font-size:.9rem;display:flex}.user-toolbar select{font:inherit;border:1px solid #e2e5ea;border-radius:8px;padding:4px}.user-page__success{color:#16a34a;border:1px solid #16a34a;border-radius:8px;padding:8px}.user-groups{flex-wrap:wrap;gap:8px 16px;display:flex}.user-groups label{color:#1f2430;align-items:center;gap:4px;font-size:.9rem;display:flex}.user-membership{background:#fff;border:1px solid #e2e5ea;border-radius:8px;margin-bottom:16px;padding:16px}.user-membership__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.user-membership__header h3{margin:0;font-size:1rem}.user-membership__position{color:#6b7280;margin:4px 0 8px;font-size:.9rem}.login-card__actions{justify-content:space-between;align-items:center;gap:8px;font-size:.9rem;display:flex}.login-card__actions button.secondary{padding:4px 8px;font-size:.85rem}.pg-form{flex-direction:column;gap:16px;max-width:640px;display:flex}.pg-form__error{color:#dc2626;margin:0}.pg-form__field{flex-direction:column;gap:4px;display:flex}.pg-form__field label{color:#6b7280;font-size:.9rem}.pg-form__matrix{background:#fff;border:1px solid #e2e5ea;border-radius:8px;margin:0;padding:16px}.pg-form__matrix legend{color:#6b7280;padding:0 4px;font-size:.9rem}.pg-form__actions{gap:8px;display:flex}.pg-matrix{border-collapse:collapse;width:100%}.pg-matrix th,.pg-matrix td{text-align:center;border-bottom:1px solid #e2e5ea;padding:8px}.pg-matrix th[scope=row]{text-align:left;font-weight:400}.pg-matrix__choice{cursor:pointer;padding:4px;display:inline-block}.pg-page__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.pg-page__header h1{margin:0}.pg-page__error{color:#dc2626}.pg-page__legend{color:#6b7280;align-items:center;gap:4px;font-size:.85rem;display:flex}.pg-table{border-collapse:collapse;background:#fff;width:100%}.pg-table th,.pg-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e5ea;padding:8px}.pg-table__feature{text-align:center;font-size:.85rem}.pg-table__name{align-items:center;gap:4px;display:flex}.pg-table__description{color:#6b7280;font-size:.85rem}.pg-table__actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.pg-table__empty{text-align:center;color:#6b7280}.pg-badge{color:#6b7280;background:#e2e5ea;border-radius:8px;padding:2px 8px;font-size:.75rem}.level-dot{border-radius:50%;width:12px;height:12px;display:inline-block}.level-dot--none{background:#d1d5db}.level-dot--view{background:#2563eb}.level-dot--edit{background:#16a34a}
