.organization-page { min-height: 100vh; padding-top: 76px; background: #f4f8f7; color: #173a43; }
.organization-page .portal-header,
.organization-page .portal-header.is-scrolled { border-color: rgba(255,255,255,.08); background: #111827; backdrop-filter: none; }
.organization-page [hidden] { display: none !important; }
.organization-page * { box-sizing: border-box; }
.organization-skip { position: fixed; z-index: 400; top: -70px; left: 14px; padding: 10px 16px; color: #fff; background: #0b6857; border-radius: 8px; }
.organization-skip:focus { top: 12px; }
.organization-main { width: min(1200px, calc(100% - 40px)); min-height: calc(100vh - 270px); margin: 38px auto 70px; }
.organization-hero { position: relative; display: flex; justify-content: space-between; align-items: flex-end; gap: 25px; overflow: hidden; min-height: 182px; padding: clamp(27px, 4vw, 45px); border: 1px solid #145d59; border-radius: 25px; color: #fff; background: radial-gradient(circle at 83% 19%,rgba(154,234,198,.22),transparent 31%),linear-gradient(125deg,#12343e,#115c56 68%,#1b775e); box-shadow: 0 21px 55px rgba(16,64,63,.16); }
.organization-hero::after { position: absolute; right: -36px; bottom: -96px; width: 290px; height: 290px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; content: ''; box-shadow: 0 0 0 50px rgba(255,255,255,.035),0 0 0 100px rgba(255,255,255,.028); pointer-events: none; }
.organization-eyebrow, .organization-workspace__head small, .organization-section__heading small { font: 800 11px/1.4 Consolas,"Cascadia Code",monospace; letter-spacing: .16em; }
.organization-eyebrow { color: #a9e8d4; }
.organization-hero h1 { position: relative; z-index: 1; margin: 9px 0 9px; font-size: clamp(31px, 4vw, 48px); line-height: 1.16; }
.organization-hero p { position: relative; z-index: 1; margin: 0; color: #d3e9e4; line-height: 1.65; }
.organization-hero__badge { position: relative; z-index: 1; flex: 0 0 auto; padding: 9px 14px; border: 1px solid rgba(217,255,242,.36); border-radius: 999px; color: #e7fff4; background: rgba(6,56,54,.3); font-size: 13px; font-weight: 750; }
.organization-gate { display: flex; align-items: center; gap: 18px; margin-top: 27px; padding: 25px 28px; border: 1px solid #d9e9e5; border-radius: 18px; background: #fff; box-shadow: 0 12px 35px rgba(24,71,67,.05); }
.organization-gate strong { display: block; font-size: 18px; }
.organization-gate p { margin: 5px 0 0; color: #71858a; font-size: 14px; }
.organization-gate button { margin-top: 14px; }
.organization-spinner { display: block; width: 31px; height: 31px; flex: 0 0 auto; border: 3px solid #d6ede4; border-top-color: #0a8261; border-radius: 50%; animation: organization-spin .8s linear infinite; }
@keyframes organization-spin { to { transform: rotate(360deg); } }
.organization-workspace { overflow: hidden; margin-top: 27px; border: 1px solid #d9e8e5; border-radius: 20px; background: #fff; box-shadow: 0 14px 45px rgba(29,80,76,.06); }
.organization-workspace__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; padding: 25px 30px 23px; border-bottom: 1px solid #e5eeeb; background: linear-gradient(115deg,#f7fbf8,#fff); }
.organization-workspace__head small { display: block; margin-bottom: 5px; color: #418475; }
.organization-workspace__head strong { display: block; font-size: 23px; }
.organization-workspace__head p { margin: 6px 0 0; color: #70858b; font-size: 13px; }
.organization-selector { display: grid; gap: 5px; min-width: 205px; font-size: 12px; font-weight: 750; }
.organization-tabs { display: flex; gap: 4px; overflow-x: auto; padding: 0 23px; border-bottom: 1px solid #e0eae8; background: #f9fbfa; scrollbar-width: thin; }
.organization-tabs button { position: relative; flex: 0 0 auto; min-height: 56px; padding: 13px 18px; border: 0; color: #657b80; background: transparent; font: inherit; font-size: 14px; font-weight: 750; cursor: pointer; }
.organization-tabs button.is-active { color: #08775b; }
.organization-tabs button.is-active::after { position: absolute; right: 18px; bottom: 0; left: 18px; height: 3px; border-radius: 3px 3px 0 0; background: #098564; content: ''; }
.organization-card__avatar { overflow: hidden; }
.organization-message details { margin-top: 8px; }
.organization-message summary { cursor: pointer; }
.organization-message pre { max-height: 260px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.organization-card__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.organization-quota { margin: 0 0 19px; padding: 15px 18px; border: 1px solid #d9e8e5; border-radius: 12px; background: #f8fcfa; }
.organization-quota > div:first-child { display: flex; justify-content: space-between; gap: 12px; color: #365d59; font-size: 13px; }
.organization-quota__track { height: 8px; margin-top: 10px; overflow: hidden; border-radius: 99px; background: #e1eee9; }
.organization-quota__track span { display: block; height: 100%; border-radius: inherit; background: #0a8c68; }
.organization-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 15px 0; color: #738985; }
.organization-breadcrumbs button,.organization-folder-link { border: 0; padding: 4px; color: #08775b; background: transparent; font: inherit; font-weight: 750; text-align: left; cursor: pointer; }
.organization-breadcrumbs button[aria-current="page"] { color: #173a43; cursor: default; }
.organization-folder-link { max-width: 100%; overflow-wrap: anywhere; font-size: 16px; }
.organization-folder-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.organization-preview { width: min(1000px,calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 0; overflow: hidden; border: 1px solid #d2e5df; border-radius: 16px; color: #173a43; background: #fff; box-shadow: 0 24px 80px rgba(10,35,40,.25); }
.organization-preview::backdrop { background: rgba(7,22,29,.7); }
.organization-preview__head,.organization-preview__foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 14px 18px; }
.organization-preview__head { border-bottom: 1px solid #e0ece8; }
.organization-preview__head strong { min-width: 0; overflow-wrap: anywhere; }
.organization-preview__foot { border-top: 1px solid #e0ece8; }
.organization-preview__body { min-height: 200px; max-height: calc(100dvh - 165px); overflow: auto; }
.organization-preview__body iframe { display: block; width: 100%; height: min(72dvh,760px); border: 0; background: #f7faf9; }
.organization-preview__body video { display: block; width: 100%; max-height: 65dvh; aspect-ratio: 16 / 9; object-fit: contain; background: #0a1119; }
.organization-preview__body article { padding: 25px; line-height: 1.7; overflow-wrap: anywhere; }
.organization-preview__body article img { max-width: 100%; }
.organization-tabs button:focus-visible, .organization-page button:focus-visible, .organization-page a:focus-visible, .organization-page input:focus-visible, .organization-page select:focus-visible, .organization-page textarea:focus-visible { outline: 2px solid #3478f6; outline-offset: 2px; }
.organization-message { margin: 22px 30px 0; padding: 12px 15px; border: 1px solid #bee1d3; border-radius: 10px; color: #185d4c; background: #eff9f3; font-size: 13px; line-height: 1.6; }
.organization-message.is-error { border-color: #edc7c0; color: #9d352e; background: #fff5f2; }
.organization-content { min-height: 280px; padding: 27px 30px 34px; }
.organization-section__heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 13px; margin-bottom: 20px; }
.organization-section__heading small { color: #2f9478; }
.organization-section__heading h2 { margin: 5px 0 0; font-size: clamp(23px,2.5vw,30px); }
.organization-section__heading p { margin: 6px 0 0; color: #6f858b; font-size: 13px; line-height: 1.6; }
.organization-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.organization-button { display: inline-flex; align-items: center; justify-content: center; min-height: 39px; padding: 8px 14px; border: 1px solid #cbded9; border-radius: 9px; color: #315b58; background: #fff; font: inherit; font-size: 13px; font-weight: 750; text-decoration: none; cursor: pointer; }
.organization-button:hover { border-color: #7fc8b0; background: #f5faf7; }
.organization-button.is-primary { border-color: #087a5d; color: #fff; background: #087a5d; }
.organization-button.is-primary:hover { background: #076e54; }
.organization-button.is-danger { border-color: #e9c8c2; color: #b13833; }
.organization-button.is-small { min-height: 32px; padding: 5px 10px; font-size: 12px; }
.organization-button:disabled { cursor: wait; opacity: .58; }
.organization-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 13px; }
.organization-toolbar__filters { display: flex; flex: 1 1 320px; gap: 9px; min-width: 0; }
.organization-toolbar input, .organization-toolbar select { min-width: 0; min-height: 40px; padding: 9px 11px; border: 1px solid #c9dcd8; border-radius: 8px; color: #173a43; background: #fff; font: inherit; font-size: 13px; }
.organization-toolbar input { flex: 1; max-width: 330px; }
.organization-toolbar select { max-width: 150px; }
.organization-resource-note { margin: 0 0 15px; color: #71858b; font-size: 12px; line-height: 1.7; }
.organization-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px; margin-top: 18px; color: #71858b; font-size: 12px; }
.organization-list { display: grid; gap: 10px; }
.organization-card { display: flex; align-items: center; gap: 15px; min-width: 0; padding: 17px 18px; border: 1px solid #e0ebe8; border-radius: 13px; background: #fff; }
.organization-card:hover { border-color: #b4d8ca; background: #fcfefd; }
.organization-drag-handle { display: grid; place-items: center; width: 24px; min-height: 36px; flex: 0 0 24px; padding: 0; border: 0; border-radius: 5px; color: #6b9287; background: transparent; font: inherit; font-size: 24px; cursor: grab; touch-action: none; user-select: none; }
.organization-drag-handle:hover { color: #08775b; background: #edf8f2; }
.organization-drag-handle:disabled { opacity: .4; cursor: not-allowed; }
.organization-card.is-dragging { opacity: .45; }
.organization-card.is-drop-before { box-shadow: 0 -3px 0 #098564; }
.organization-card.is-drop-after { box-shadow: 0 3px 0 #098564; }
.organization-drag-preview { position: fixed; z-index: 500; max-width: min(360px,calc(100vw - 30px)); padding: 9px 14px; overflow: hidden; color: #fff; border-radius: 8px; background: #08775b; box-shadow: 0 8px 24px #143d4533; font-size: 13px; white-space: nowrap; text-overflow: ellipsis; pointer-events: none; }
body.is-organization-dragging, body.is-organization-dragging * { cursor: grabbing !important; user-select: none !important; }
.organization-card__icon { display: grid; width: 44px; height: 48px; flex: 0 0 44px; place-items: center; border: 1px solid #d4e9df; border-radius: 10px; color: #13826a; background: #edf8f2; font: 800 11px Consolas,monospace; }
.organization-card__copy { min-width: 0; flex: 1; }
.organization-card__copy h3 { margin: 0 0 5px; overflow-wrap: anywhere; font-size: 16px; }
.organization-card__copy p { margin: 0; color: #72858a; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.organization-card__copy .organization-presentation-warning { margin-top: 7px; color: #8a5312; font-weight: 700; }
.organization-card__actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.organization-empty { padding: 45px 22px; border: 1px dashed #d2e5de; border-radius: 13px; background: #fbfdfb; text-align: center; }
.organization-empty strong { display: block; margin-bottom: 6px; font-size: 16px; }
.organization-empty p { margin: 0; color: #71858a; font-size: 13px; line-height: 1.7; }
.organization-form { display: grid; gap: 15px; margin: 0 0 21px; padding: 21px; border: 1px solid #d0e4db; border-radius: 14px; background: #f7fbf8; }
.organization-form h3 { margin: 0; font-size: 18px; }
.organization-form p { margin: 0; color: #6d8186; font-size: 13px; line-height: 1.65; }
.organization-form label { display: grid; gap: 7px; min-width: 0; color: #2b5257; font-size: 13px; font-weight: 750; }
.organization-form[data-form="folder"], .organization-form[data-form="edit-file"], .organization-form[data-form="upload"] { border-color: #a8c7f0; background: #eaf2ff; box-shadow: inset 4px 0 0 #4c87d6; }
.organization-form[data-form="folder"] h3, .organization-form[data-form="edit-file"] h3, .organization-form[data-form="upload"] h3 { color: #244d80; }
.organization-form[data-form="folder"] label, .organization-form[data-form="edit-file"] label, .organization-form[data-form="upload"] label { color: #355a87; }
.organization-upload-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.organization-upload-choice { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 15px; border: 1px solid #c8d9f0; border-radius: 11px; background: #f8fbff; }
.organization-upload-choice.is-selected { border-color: #4c87d6; background: #fff; }
.organization-upload-choice h4 { margin: 0; color: #244d80; font-size: 14px; }
.organization-upload-choice p { min-height: 22px; overflow-wrap: anywhere; color: #4b6686; }
.organization-upload-picker { width: 100%; min-height: 42px; justify-content: center; border-color: #a8c7f0; color: #244d80; background: #fff; }
.organization-upload-picker:hover { border-color: #4c87d6; color: #1e4f91; background: #eff5ff; }
.organization-form__row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.organization-form input, .organization-form select, .organization-form textarea, .organization-selector select { width: 100%; min-width: 0; min-height: 40px; padding: 9px 11px; border: 1px solid #c9dcd8; border-radius: 8px; color: #173a43; background: #fff; font: inherit; font-size: 13px; }
.organization-form textarea { min-height: 105px; resize: vertical; line-height: 1.6; }
.organization-form__footer { display: flex; flex-wrap: wrap; gap: 9px; }
.organization-note { padding: 13px 15px; border: 1px solid #d5e5e2; border-radius: 10px; color: #5d777b; background: #f7faf9; font-size: 13px; line-height: 1.7; }
.organization-detail { margin-top: 17px; padding: 20px; border: 1px solid #dce9e5; border-radius: 13px; background: #fcfefd; }
.organization-detail h3 { margin: 0 0 11px; font-size: 20px; }
.organization-detail h4 { margin: 20px 0 10px; font-size: 16px; }
.organization-detail p { white-space: pre-wrap; line-height: 1.75; overflow-wrap: anywhere; }
.organization-detail pre { overflow: auto; padding: 14px; border-radius: 8px; color: #edf7f3; background: #15363b; white-space: pre-wrap; }
.organization-migration-hash { display: block; overflow-wrap: anywhere; font-size: 12px; }
.organization-migration-list { display: grid; gap: 8px; margin: 0; padding-left: 25px; }
.organization-migration-list li { min-width: 0; padding: 11px 13px; border: 1px solid #dce9e5; border-radius: 9px; background: #fff; line-height: 1.6; }
.organization-migration-list.is-conflict li { border-color: #edc7c0; background: #fff8f6; }
.organization-migration-list li strong, .organization-migration-list li span, .organization-migration-list li code, .organization-migration-list li small { display: block; overflow-wrap: anywhere; }
.organization-migration-list li span, .organization-migration-list li small { color: #627b7e; }
.organization-migration-list li code { margin-top: 3px; font-size: 12px; }
.organization-migration-form { margin-top: 22px; }
.organization-form .organization-migration-confirm { display: flex; align-items: flex-start; gap: 10px; line-height: 1.6; }
.organization-form .organization-migration-confirm input { width: auto; min-height: 0; margin-top: 4px; flex: 0 0 auto; }
.organization-option { display: flex; gap: 9px; align-items: center; padding: 9px 0; font-size: 14px; }
.organization-option input { accent-color: #088668; }
.organization-result { margin-top: 14px; padding: 15px; border: 1px solid #c6e1d4; border-radius: 10px; background: #eff9f3; }
.organization-result.is-error { border-color: #e9c9c2; background: #fff5f2; }
.organization-result strong { display: block; margin-bottom: 5px; }
.organization-footer { display: flex; justify-content: space-between; align-items: center; gap: 22px; flex-wrap: wrap; padding: 30px max(25px,calc((100vw - 1200px) / 2)); border-top: 1px solid #dfe9e6; color: #718388; font-size: 12px; }
.organization-footer div { display: grid; gap: 4px; }
.organization-footer strong { color: #2b514e; font-size: 15px; }
.organization-footer p { display: flex; gap: 13px; flex-wrap: wrap; margin: 0; }
.organization-footer a { color: inherit; }
@media (max-width: 820px) { .organization-page { padding-top: 66px; } }
@media (max-width: 700px) {
  .organization-main { width: min(100% - 24px,1200px); margin: 20px auto 50px; }
  .organization-hero { align-items: flex-start; flex-direction: column; min-height: 0; padding: 27px 23px; border-radius: 18px; }
  .organization-hero__badge { align-self: flex-start; }
  .organization-workspace__head { padding: 20px; }
  .organization-tabs { padding: 0 10px; }
  .organization-content { padding: 21px 16px 28px; }
  .organization-message { margin: 17px 16px 0; }
  .organization-card { align-items: flex-start; flex-wrap: wrap; }
  .organization-card__actions { width: 100%; justify-content: flex-start; padding-left: 59px; }
  .organization-form__row { grid-template-columns: 1fr; }
  .organization-upload-choices { grid-template-columns: 1fr; }
  .organization-toolbar__filters { flex-basis: 100%; }
  .organization-toolbar input { width: 0; max-width: none; }
  .organization-breadcrumbs button { max-width: 100%; overflow-wrap: anywhere; }
  .organization-footer { padding: 27px 20px; }
}
@media (prefers-reduced-motion: reduce) { .organization-spinner { animation-duration: 1.8s; } }
:root { --organization-admin-accent: #177753; }
.organization-card.is-organization-admin { border: 2px solid var(--organization-admin-accent); border-left-width: 6px; background: #f0faf5; }
.organization-admin-badge { display: inline-block; margin-left: 12px; padding: 3px 10px; border-radius: 6px; background: var(--organization-admin-accent); color: white; font-size: 12px; font-weight: 800; vertical-align: middle; }
