:root {
    --idu-navy: #0b2440;
    --idu-blue: #1268e8;
    --idu-blue-soft: #eaf2ff;
    --idu-green: #18a66a;
    --idu-lime: #a8e846;
    --idu-bg: #f5f7f9;
    --idu-border: #e4e9ef;
    --idu-muted: #6c7b8c;
    --idu-shadow: 0 12px 35px rgba(18, 40, 65, .07);
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--idu-navy); background: var(--idu-bg); font-family: "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, .brand { font-family: "Segoe UI", Arial, sans-serif; }
h1 { margin: 0; font-size: clamp(1.55rem, 3vw, 2rem); font-weight: 800; letter-spacing: -.04em; }
h2 { font-size: 1.15rem; font-weight: 800; letter-spacing: -.025em; }
.btn { border-radius: .75rem; font-weight: 600; padding: .62rem 1rem; }
.btn-primary { --bs-btn-bg: var(--idu-blue); --bs-btn-border-color: var(--idu-blue); --bs-btn-hover-bg: #0759cf; --bs-btn-hover-border-color: #0759cf; box-shadow: 0 5px 15px rgba(18, 104, 232, .2); }
.system-notice { margin-bottom: 1rem; padding: .9rem 1rem; color: #334b62; background: #f8fafb; border: 1px solid var(--idu-border); border-left: 4px solid var(--idu-blue); border-radius: .8rem; font-size: .85rem; }.system-notice-success { border-left-color: var(--idu-green); }.system-notice-warning { border-left-color: #e3a21a; }.system-notice-danger { border-left-color: #dc3545; }.system-notice-info { border-left-color: var(--idu-blue); }
.ajax-progress { position: fixed; z-index: 2200; top: 0; right: 0; left: 0; height: 3px; overflow: hidden; pointer-events: none; opacity: 0; transition: opacity .15s ease; }.ajax-progress span { display: block; width: 35%; height: 100%; background: linear-gradient(90deg,var(--idu-blue),var(--idu-green)); transform: translateX(-120%); }.is-ajax-loading .ajax-progress { opacity: 1; }.is-ajax-loading .ajax-progress span { animation: ajax-progress 1s ease-in-out infinite; }@keyframes ajax-progress { to { transform: translateX(390%); } }
.idu-notifications { position: fixed; z-index: 2300; top: 1.25rem; right: 1.25rem; display: grid; width: min(390px,calc(100vw - 2rem)); gap: .7rem; pointer-events: none; }.idu-notification { display: grid; grid-template-columns: 38px minmax(0,1fr) 28px; align-items: center; gap: .75rem; padding: .8rem .8rem .8rem .9rem; background: #fff; border: 1px solid var(--idu-border); border-radius: 1rem; box-shadow: 0 18px 48px rgba(9,34,61,.17); opacity: 0; pointer-events: auto; transform: translateY(-10px) scale(.98); transition: opacity .2s ease,transform .2s ease; }.idu-notification.is-visible { opacity: 1; transform: none; }.idu-notification-icon { display: grid; width: 38px; height: 38px; place-items: center; color: var(--idu-blue); background: var(--idu-blue-soft); border-radius: 12px; }.idu-notification.is-success .idu-notification-icon { color: #08764a; background: #e4f8ed; }.idu-notification.is-warning .idu-notification-icon { color: #956100; background: #fff4d6; }.idu-notification.is-danger .idu-notification-icon { color: #b32636; background: #ffebee; }.idu-notification p { margin: 0; color: #334b62; font-size: .82rem; line-height: 1.45; }.idu-notification button { display: grid; width: 28px; height: 28px; padding: 0; place-items: center; color: #8291a0; background: transparent; border: 0; border-radius: .5rem; }.idu-notification button:hover { color: var(--idu-navy); background: #f1f4f6; }
.idu-confirm-modal .modal-content { overflow: hidden; border: 0; border-radius: 1.25rem; box-shadow: 0 28px 80px rgba(7,29,52,.25); }.confirm-modal-icon { display: grid; width: 64px; height: 64px; margin: 0 auto; place-items: center; color: #fff; background: linear-gradient(145deg,var(--idu-blue),var(--idu-green)); border-radius: 20px; box-shadow: 0 12px 30px rgba(18,104,232,.22); font-size: 1.5rem; }.idu-confirm-modal[data-tone="danger"] .confirm-modal-icon { background: linear-gradient(145deg,#dc3545,#a8192b); box-shadow: 0 12px 30px rgba(220,53,69,.22); }.idu-confirm-modal h2 { font-size: 1.45rem; }.confirm-modal-copy { max-width: 410px; margin: .75rem auto 0; color: var(--idu-muted); font-size: .9rem; line-height: 1.6; }
.form-control, .form-select { border-color: #dce3eb; border-radius: .7rem; padding: .72rem .9rem; color: var(--idu-navy); }
.form-control:focus, .form-select:focus { border-color: #7eaff5; box-shadow: 0 0 0 .23rem rgba(18, 104, 232, .11); }
.form-label { color: #263d55; font-size: .9rem; font-weight: 600; }
.eyebrow { color: var(--idu-blue); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.app-shell { display: flex; min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 1040; display: flex; width: 260px !important; flex-direction: column; background: #fff; border-right: 1px solid var(--idu-border); }
.brand { display: flex; align-items: center; gap: .7rem; color: var(--idu-navy); font-size: 1.45rem; font-weight: 800; line-height: 1; text-decoration: none; }
.brand small { display: block; margin-top: .3rem; color: var(--idu-muted); font-family: "Segoe UI", Arial, sans-serif; font-size: .58rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.brand-mark { display: inline-grid; width: 46px; height: 46px; place-items: center; color: #fff; }
.brand-logo { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.sidebar .nav-link { display: flex; align-items: center; gap: .8rem; color: #43566b; border-radius: .7rem; font-weight: 500; padding: .68rem .8rem; }
.sidebar .nav-link:hover { color: var(--idu-blue); background: var(--idu-blue-soft); }
.sidebar .nav-link i { width: 20px; color: #718398; font-size: 1.05rem; }
.sidebar .nav-link small { margin-left: auto; color: #9aa7b4; font-size: .62rem; font-weight: 700; }
.sidebar .nav-link.disabled { opacity: .62; }
.sidebar > nav { flex: 1 1 auto; flex-wrap: nowrap; min-width: 0; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }.sidebar > nav > * { flex: 0 0 auto; }.nav-section { margin: 1.15rem .8rem .35rem; color: #9aa7b4; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.nav-section-toggle { display: flex; align-items: center; justify-content: space-between; width: calc(100% - 1.6rem); max-width: calc(100% - 1.6rem); padding: 0 0 .35rem; background: transparent; border: 0; text-align: left; }.nav-section-toggle:hover, .nav-section-toggle:focus { color: var(--idu-blue); }.nav-section-toggle i { flex: 0 0 auto; font-size: .7rem; transition: transform .18s ease; }.nav-section-toggle[aria-expanded="false"] i { transform: rotate(-90deg); }.nav-section-links { display: grid; min-width: 0; gap: .25rem; }.nav-section-links .nav-link { min-width: 0; }.nav-section-links[hidden] { display: none; }
.sidebar-footer { display: flex; align-items: center; gap: .65rem; margin: auto .75rem .75rem; padding: .85rem .8rem; background: #f8fafc; border: 1px solid var(--idu-border); border-radius: 1rem; box-shadow: 0 5px 18px rgba(20, 40, 60, .045); }
.user-chip { display: flex; flex: 1 1 auto; align-items: center; gap: .8rem; min-width: 0; padding-right: .25rem; }
.user-chip .avatar { display: grid; flex: 0 0 auto; width: 38px; height: 38px; place-items: center; color: #0d5638; background: #dff8e8; border: 1px solid #c7efd8; border-radius: 50%; font-weight: 800; }
.user-chip strong, .user-chip small { display: block; overflow: hidden; max-width: 125px; text-overflow: ellipsis; white-space: nowrap; }
.user-chip strong { font-size: .82rem; }.user-chip small { color: var(--idu-muted); font-size: .68rem; }
.sidebar-footer > .btn, .sidebar-footer > form .btn { display: grid; flex: 0 0 auto; width: 32px; height: 32px; place-items: center; color: #64798b !important; border-radius: .65rem; }
.sidebar-footer > .btn:hover, .sidebar-footer > form .btn:hover { color: var(--idu-blue) !important; background: var(--idu-blue-soft); }
.main-content { width: calc(100% - 260px); min-height: 100vh; margin-left: 260px; }
.topbar { display: flex; align-items: center; gap: 1rem; min-height: 105px; padding: 1.25rem clamp(1.2rem, 4vw, 3rem); background: rgba(245, 247, 249, .91); border-bottom: 1px solid var(--idu-border); backdrop-filter: blur(10px); }
.page-content { padding: 1.75rem clamp(1.2rem, 4vw, 3rem) 3rem; }
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin: 0 clamp(1.2rem, 4vw, 3rem) 1.5rem; padding: 1.5rem clamp(1.2rem, 4vw, 3rem); color: #c5d4e1; background: linear-gradient(118deg, #0b2949 0%, #104a72 70%, #167865 100%); border-radius: 1.25rem; box-shadow: var(--idu-shadow); }
.site-footer-brand { display: flex; align-items: center; gap: .9rem; }
.site-footer-brand a { display: block; line-height: 0; }
.site-footer-brand img { width: 64px; height: auto; }
.site-footer-brand p { display: flex; flex-direction: column; gap: .2rem; margin: 0; font-size: .78rem; }
.site-footer-brand strong { color: #fff; font-size: .88rem; }
.site-footer-brand span { color: #9eb2c4; }
.site-footer-details { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem 1.2rem; font-size: .75rem; text-align: right; }
.app-footer { margin-left: 260px; }

.welcome-card { position: relative; display: flex; align-items: center; min-height: 190px; overflow: hidden; padding: clamp(1.5rem, 3vw, 2.3rem); color: #fff; background: linear-gradient(118deg, #0b2949 0%, #104a72 70%, #167865 100%); border-radius: 1.25rem; box-shadow: var(--idu-shadow); }
.welcome-card::after { position: absolute; inset: auto -30px -100px auto; width: 240px; height: 240px; content: ""; border: 1px solid rgba(168, 232, 70, .25); border-radius: 50%; box-shadow: 0 0 0 35px rgba(168, 232, 70, .05), 0 0 0 70px rgba(168, 232, 70, .04); }
.welcome-card > div:first-child { position: relative; z-index: 1; max-width: 680px; }
.welcome-card h2 { margin: 1rem 0 .55rem; font-size: clamp(1.35rem, 2.5vw, 2rem); }.welcome-card p { margin: 0; color: #c8d9e5; }
.status-pill { display: inline-flex; align-items: center; gap: .5rem; padding: .32rem .65rem; color: #dcffad; background: rgba(168, 232, 70, .12); border: 1px solid rgba(168, 232, 70, .3); border-radius: 100px; font-size: .72rem; font-weight: 700; }.status-pill i { font-size: .45rem; }
.sprout-illustration { position: absolute; z-index: 1; right: 6%; bottom: 12%; width: 112px; height: 112px; opacity: .92; transform: rotate(3deg); }.sprout-illustration img { width: 100%; height: 100%; object-fit: cover; border: 1px solid rgba(255,255,255,.25); border-radius: 30px; box-shadow: 0 18px 45px rgba(3,20,45,.28); }
.metric-card { display: flex; align-items: center; gap: 1rem; height: 100%; padding: 1.2rem; background: #fff; border: 1px solid var(--idu-border); border-radius: 1rem; box-shadow: 0 5px 20px rgba(20, 40, 60, .035); }.metric-card > div { display: flex; flex-direction: column; justify-content: center; align-self: stretch; min-height: 46px; }.metric-card > .metric-icon { align-self: center; }
.metric-icon { display: grid; flex: 0 0 auto; width: 46px; height: 46px; place-items: center; border-radius: 14px; font-size: 1.2rem; line-height: 0; }.metric-icon img { display: block; width: 30px; height: 30px; object-fit: contain; object-position: center; }.metric-icon.green { color: #098151; background: #e4f8ed; }.metric-icon.blue { color: #1268e8; background: #e9f2ff; }.metric-icon.lime { color: #547f0b; background: #f0fbdc; }.metric-icon.orange { color: #bd6413; background: #fff1e2; }
.metric-card strong { font-family: "Segoe UI", Arial, sans-serif; font-size: 1.65rem; line-height: 1; }.metric-card div span { margin-top: .35rem; color: var(--idu-muted); font-size: .77rem; }
.panel { padding: clamp(1.1rem, 2vw, 1.5rem); background: #fff; border: 1px solid var(--idu-border); border-radius: 1rem; box-shadow: 0 5px 20px rgba(20, 40, 60, .035); }
.panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }.panel-heading .eyebrow, .panel-heading h2 { margin-bottom: .25rem; }.phase-badge { padding: .28rem .55rem; color: #577087; background: #edf2f6; border-radius: 100px; font-size: .65rem; white-space: nowrap; }
.empty-state { display: grid; min-height: 300px; place-items: center; align-content: center; padding: 2rem; text-align: center; }.empty-state > span { display: grid; width: 58px; height: 58px; margin-bottom: 1rem; place-items: center; color: var(--idu-green); background: #e7f8ef; border-radius: 18px; font-size: 1.55rem; }.empty-state h3 { margin-bottom: .4rem; font-size: 1.05rem; }.empty-state p { max-width: 390px; color: var(--idu-muted); font-size: .87rem; }.compact-empty { display: grid; min-height: 250px; place-items: center; align-content: center; text-align: center; }.compact-empty i { margin-bottom: 1rem; color: #a2afba; font-size: 2.3rem; }.compact-empty p { margin: 0; font-weight: 700; }.compact-empty small { max-width: 240px; margin-top: .35rem; color: var(--idu-muted); }
.seed-dot { display: grid; flex: 0 0 auto; width: 38px; height: 38px; place-items: center; color: var(--idu-green); background: #e7f8ef; border-radius: 12px; }
.table { --bs-table-color: var(--idu-navy); }.table > :not(caption) > * > * { padding: .95rem .8rem; border-color: #edf0f3; }.table thead th { color: #8593a2; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }.url-cell { display: block; max-width: 260px; }.source-type { display: inline-flex; align-items: center; gap: .45rem; font-size: .83rem; }.source-type i { color: var(--idu-blue); }.panel-note { margin: 1rem -1.5rem -1.5rem; padding: .8rem 1.5rem; color: #66798c; background: #f8fafb; border-radius: 0 0 1rem 1rem; font-size: .75rem; }
.inbox-column-filters th { min-width: 150px; padding: 1rem .8rem !important; color: var(--idu-navy) !important; background: #edf7f4; font-size: .82rem !important; letter-spacing: 0 !important; text-transform: none !important; vertical-align: top; }.inbox-column-filters th:first-child { border-radius: .7rem 0 0 0; }.inbox-column-filters th:nth-last-child(2) { border-radius: 0 .7rem 0 0; }.inbox-column-filters th:last-child { width: 1%; min-width: 54px; background: #edf7f4; }.inbox-column-filters a { font-family: Georgia, 'Times New Roman', serif; font-size: 1.05rem; }.inbox-column-filters .form-select, .inbox-column-filters .form-control { min-width: 130px; border-color: #d6e0dd; border-radius: .65rem; background-color: #fff; font-size: .82rem; }.inbox-column-filters .form-control { min-width: 170px; }
.mini-stat { display: flex; align-items: baseline; gap: .5rem; padding: 1rem 1.1rem; background: #fff; border: 1px solid var(--idu-border); border-radius: .9rem; box-shadow: 0 5px 20px rgba(20,40,60,.035); }.mini-stat strong { font-size: 1.4rem; }.mini-stat span { color: var(--idu-muted); font-size: .78rem; }.error-cell { max-width: 220px; }.content-box { color: #334b62; font-size: .9rem; line-height: 1.7; white-space: normal; }.payload-box { max-height: 440px; overflow: auto; margin: 0; padding: 1rem; color: #d8e8f5; background: #0b2440; border-radius: .8rem; font-size: .78rem; white-space: pre-wrap; word-break: break-word; }.detail-grid { display: grid; grid-template-columns: 125px 1fr; gap: .65rem 1rem; margin-bottom: 1.2rem; font-size: .85rem; }.detail-grid dt { color: var(--idu-muted); }.detail-grid dd { margin: 0; overflow-wrap: anywhere; }
.engine-card { display: flex; flex-direction: column; }.engine-meta { margin-top: auto; padding-top: .75rem; border-top: 1px solid var(--idu-border); }.prompt-editor { min-height: 260px; line-height: 1.6; }.analysis-summary { padding: 1rem; background: #f8fafb; border: 1px solid var(--idu-border); border-radius: .8rem; }.analysis-summary p { margin: .75rem 0; color: #53677a; font-size: .84rem; line-height: 1.55; }.analysis-summary a { font-size: .78rem; font-weight: 700; text-decoration: none; }.result-grid { display: grid; gap: .9rem; }.result-field { padding: 1rem; background: #f8fafb; border: 1px solid var(--idu-border); border-radius: .8rem; }.result-field > small { display: block; margin-bottom: .35rem; color: var(--idu-blue); font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }.result-field p, .result-field ul { margin: 0; color: #334b62; font-size: .9rem; line-height: 1.6; }.result-field ul { padding-left: 1.2rem; }
.analysis-progress-overlay { position: fixed; z-index: 2000; inset: 0; display: grid; place-items: center; padding: 1.25rem; background: rgba(7, 29, 52, .56); backdrop-filter: blur(5px); }.analysis-progress-overlay[hidden] { display: none; }.analysis-progress-dialog { width: min(100%, 410px); animation: analysis-modal-in .28s ease-out; }.analysis-progress-modal { overflow: hidden; border: 0; border-radius: 1.25rem; background: #fff; box-shadow: 0 24px 65px rgba(9, 34, 61, .24); }.analysis-progress-modal h2 { font-size: 1.45rem; }.analysis-orb { display: grid; width: 64px; height: 64px; margin: 0 auto; place-items: center; color: #fff; background: linear-gradient(145deg, var(--idu-blue), var(--idu-green)); border-radius: 22px; box-shadow: 0 12px 28px rgba(18, 104, 232, .25); font-size: 1.7rem; }.analysis-orb i { animation: analysis-pulse 1.4s ease-in-out infinite; }.analysis-progress-copy { min-height: 42px; margin: .6rem auto 1.1rem; color: var(--idu-muted); font-size: .87rem; line-height: 1.5; }.analysis-progress-bar { height: .48rem; overflow: hidden; background: #e9f0f5; border-radius: 999px; }.analysis-progress-bar .progress-bar { background: linear-gradient(90deg, var(--idu-blue), var(--idu-green)); border-radius: inherit; transition: width .55s ease; }.analysis-steps { display: grid; gap: .8rem; padding: 0; list-style: none; }.analysis-steps li { display: flex; align-items: center; gap: .65rem; color: #8695a4; font-size: .84rem; font-weight: 600; transition: color .3s ease; }.analysis-steps i { display: grid; width: 24px; height: 24px; place-items: center; color: #9aabb9; background: #edf2f6; border-radius: 50%; font-size: .8rem; transition: all .3s ease; }.analysis-steps .is-active { color: var(--idu-navy); }.analysis-steps .is-active i { color: #fff; background: var(--idu-blue); animation: analysis-spin 1s linear infinite; }.analysis-steps .is-complete { color: #397653; }.analysis-steps .is-complete i { color: #fff; background: var(--idu-green); }.analysis-progress-note { color: #98a6b2; font-size: .74rem; }.analysis-modal-open { overflow: hidden; }@keyframes analysis-spin { to { transform: rotate(360deg); } }@keyframes analysis-pulse { 50% { transform: scale(1.12) rotate(8deg); } }@keyframes analysis-modal-in { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
.indicator-help { position: relative; display: inline-flex; margin-left: .32rem; vertical-align: middle; color: #7d91a3; cursor: help; outline: none; }.indicator-help:hover, .indicator-help:focus { color: var(--idu-blue); }.indicator-tooltip { position: absolute; z-index: 20; bottom: calc(100% + .55rem); left: 50%; width: min(265px, 72vw); padding: .7rem .8rem; color: #fff; background: #0b2440; border-radius: .65rem; box-shadow: 0 10px 28px rgba(10, 33, 58, .22); font-family: "Segoe UI", Arial, sans-serif; font-size: .76rem; font-weight: 500; letter-spacing: 0; line-height: 1.45; text-align: left; text-transform: none; transform: translateX(-50%) translateY(4px); visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .16s ease, transform .16s ease; }.indicator-tooltip::after { position: absolute; top: 100%; left: 50%; width: 9px; height: 9px; content: ""; background: #0b2440; transform: translate(-50%, -5px) rotate(45deg); }.indicator-help:hover .indicator-tooltip, .indicator-help:focus .indicator-tooltip { visibility: visible; opacity: 1; transform: translateX(-50%) translateY(0); }
.card-title-link { color: var(--idu-navy); font-weight: 800; text-decoration: none; }.card-title-link:hover { color: var(--idu-blue); }.card-detail-title { max-width: 680px; font-size: clamp(1.35rem, 2.3vw, 2rem); }.card-summary { color: #334b62; font-size: 1rem; line-height: 1.75; }.tag-list { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.2rem; }.tag-list span { padding: .3rem .6rem; color: #235d4a; background: #e8f7f1; border: 1px solid #d2eee3; border-radius: 999px; font-size: .72rem; font-weight: 700; }.score-value { color: var(--idu-blue); font-size: 1.25rem; }.score-total { display: flex; align-items: baseline; gap: .3rem; margin-bottom: 1.2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--idu-border); }.score-total span { margin-right: auto; color: var(--idu-muted); font-size: .82rem; }.score-total strong { color: var(--idu-blue); font-size: 2.5rem; line-height: 1; }.score-total small { color: var(--idu-muted); }.score-list { display: grid; gap: .9rem; }.score-list > div { display: grid; grid-template-columns: 92px 1fr 28px; align-items: center; gap: .6rem; font-size: .75rem; }.score-list span { color: var(--idu-muted); }.score-list strong { text-align: right; }.score-list .progress { height: .42rem; background: #e9f0f5; }.score-list .progress-bar { background: linear-gradient(90deg, var(--idu-blue), var(--idu-green)); }
.card-filter-panel { padding: 1.1rem; }.card-filter-grid { display: grid; grid-template-columns: minmax(220px, 1.5fr) repeat(4, minmax(135px, .8fr)); align-items: end; gap: .9rem; }.card-filter-grid .form-label { margin-bottom: .35rem; color: var(--idu-muted); font-size: .72rem; font-weight: 700; }.card-quick-filters { display: flex; grid-column: 1 / -2; align-items: center; gap: 1.25rem; min-height: 38px; }.card-quick-filters .form-check { margin: 0; color: #43566b; font-size: .82rem; font-weight: 600; }.card-quick-filters i { color: var(--idu-blue); font-size: .68rem; }.card-filter-actions { display: flex; justify-content: flex-end; gap: .5rem; }.cards-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }.curation-card { position: relative; display: flex; min-width: 0; min-height: 360px; flex-direction: column; padding: 1.25rem; background: #fff; border: 1px solid var(--idu-border); border-radius: 1rem; box-shadow: 0 8px 28px rgba(17, 45, 72, .055); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }.curation-card:hover { border-color: #cbdbea; box-shadow: 0 14px 34px rgba(17, 45, 72, .09); transform: translateY(-2px); }.curation-card.is-unread { border-top: 3px solid var(--idu-blue); }.curation-card.is-viewed { background: #fbfcfd; }.curation-card.is-approved { border-color: #9cd8bb; box-shadow: 0 10px 28px rgba(38, 139, 84, .10); }.curation-card.is-approved:hover { border-color: #58ad7e; }.curation-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; margin-bottom: 1rem; }.curation-card-top form { flex: 0 0 auto; }.card-icon-action { display: grid; width: 34px; height: 34px; padding: 0; place-items: center; color: #8191a1; background: #f5f7f9; border: 1px solid #e5eaee; border-radius: .7rem; }.card-icon-action:hover, .card-icon-action.is-favorite { color: #d79600; background: #fff8df; border-color: #f1dc95; }.unread-pill { padding: .25rem .48rem; color: #0c62c7; background: #eaf3ff; border-radius: 999px; font-size: .64rem; font-weight: 800; }.approved-card-marker { display: inline-flex; align-items: center; gap: .3rem; padding: .25rem .5rem; color: #17643c; background: #e5f7ec; border: 1px solid #b9e6cb; border-radius: 999px; font-size: .66rem; font-weight: 800; }.approved-card-marker i { color: #218c52; }.approved-card-marker.is-detail { padding: .34rem .65rem; font-size: .75rem; }.approved-card-detail { border-color: #9cd8bb; box-shadow: inset 4px 0 0 #2b9d5d; }.curation-card-title { margin-bottom: .75rem; color: var(--idu-navy); font-family: Georgia, 'Times New Roman', serif; font-size: 1.2rem; font-weight: 800; line-height: 1.28; text-decoration: none; }.curation-card-title:hover { color: var(--idu-blue); }.curation-card-summary { display: -webkit-box; overflow: hidden; margin-bottom: 1rem; color: #52677b; font-size: .86rem; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }.curation-card-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: 1rem; }.curation-card-tags span { padding: .24rem .45rem; color: #39705e; background: #edf8f4; border-radius: 999px; font-size: .65rem; font-weight: 700; }.curation-card-meta { display: flex; justify-content: space-between; gap: 1rem; margin-top: auto; padding: .9rem 0; color: var(--idu-muted); border-top: 1px solid #edf0f3; font-size: .75rem; }.curation-card-meta strong { color: var(--idu-blue); }.curation-card-actions { display: flex; align-items: center; gap: .4rem; padding-top: .8rem; border-top: 1px solid #edf0f3; }.curation-card-actions form { margin: 0; }.curation-card-actions .btn { display: inline-flex; align-items: center; gap: .35rem; }.curation-card-actions .btn-light { color: #53677a; background: #f5f7f9; border-color: #e7ebee; }

.form-shell { max-width: 900px; margin: 0 auto; }.form-panel { padding: clamp(1.3rem, 3vw, 2rem); }.back-link { color: var(--idu-blue); font-size: .85rem; font-weight: 600; text-decoration: none; }.form-section { display: flex; align-items: start; gap: 1rem; margin: .25rem 0 1.25rem; padding-bottom: .8rem; border-bottom: 1px solid var(--idu-border); }.form-section:not(:first-of-type) { margin-top: 2rem; }.form-section h2, .form-section p { margin-bottom: .2rem; }.form-section p { color: var(--idu-muted); font-size: .82rem; }.section-number { display: grid; flex: 0 0 auto; width: 34px; height: 34px; place-items: center; color: var(--idu-blue); background: var(--idu-blue-soft); border-radius: 10px; font-size: .72rem; font-weight: 800; }.form-actions { display: flex; justify-content: flex-end; gap: .6rem; margin: 2rem -2rem -2rem; padding: 1rem 2rem; background: #f9fafb; border-top: 1px solid var(--idu-border); border-radius: 0 0 1rem 1rem; }.seed-intro { display: flex; align-items: center; gap: 1rem; margin: -2rem -2rem 1.7rem; padding: 1.3rem 2rem; background: linear-gradient(90deg, #eef8ff, #f3fbe8); border-radius: 1rem 1rem 0 0; }.seed-intro > span { display: grid; flex: 0 0 auto; width: 48px; height: 48px; place-items: center; color: #fff; background: linear-gradient(145deg, var(--idu-blue), var(--idu-green)); border-radius: 15px; font-size: 1.25rem; }.seed-intro h2, .seed-intro p { margin: 0; }.seed-intro p { color: var(--idu-muted); font-size: .8rem; }

.guest-body { min-height: 100vh; background: #fff; }.login-wrap { display: grid; min-height: 100vh; grid-template-columns: minmax(360px, 1.15fr) minmax(420px, .85fr); }.login-story { position: relative; display: flex; overflow: hidden; align-items: center; padding: 8vw; color: #fff; background: radial-gradient(circle at 20% 85%, rgba(39, 190, 117, .25), transparent 32%), radial-gradient(circle at 85% 15%, rgba(27, 111, 228, .3), transparent 30%), #09223d; }.login-story::before { position: absolute; inset: 0; content: ""; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.3) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.3) 1px, transparent 1px); background-size: 50px 50px; mask-image: linear-gradient(to bottom right, black, transparent 70%); }.story-content { position: relative; z-index: 1; max-width: 650px; }.brand-light { color: #fff; }.brand-light small { color: #aebdca; }.text-lime { color: var(--idu-lime) !important; }.story-content h1 { max-width: 610px; font-size: clamp(2.3rem, 4.5vw, 4.3rem); line-height: 1.08; }.story-content > p:last-child { max-width: 550px; margin-top: 1.5rem; color: #b9cad8; font-size: 1.05rem; line-height: 1.7; }.growth-line { position: absolute; right: 8%; bottom: 8%; display: flex; align-items: end; gap: 14px; }.growth-line span { display: block; width: 7px; height: 25px; background: var(--idu-lime); border-radius: 8px; opacity: .4; }.growth-line span:nth-child(2) { height: 50px; opacity: .55; }.growth-line span:nth-child(3) { height: 80px; opacity: .75; }.growth-line span:nth-child(4) { height: 120px; opacity: 1; }.login-panel { display: grid; padding: 3rem; place-items: center; }.login-card { width: min(100%, 410px); }.login-card h2 { margin-bottom: .4rem; font-size: 2rem; }.security-note { margin-top: 1.5rem; color: #8493a1; font-size: .74rem; text-align: center; }.mobile-brand { display: none; }.error-page { display: grid; min-height: 100vh; padding: 2rem; place-items: center; align-content: center; text-align: center; }.error-page strong { margin-top: 1rem; color: var(--idu-blue); font-family: "Segoe UI", Arial, sans-serif; font-size: 4rem; }.error-page p { color: var(--idu-muted); }

.execution-confirm-panel { max-width: 900px; }.execution-selection { overflow: hidden; border: 1px solid var(--idu-border); border-radius: .9rem; }.execution-selection-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; background: #f4f8fb; border-bottom: 1px solid var(--idu-border); }.execution-selection-heading small { color: var(--idu-muted); }.execution-item-list { display: grid; }.execution-item { display: grid; grid-template-columns: auto 30px minmax(0, 1fr) auto; align-items: center; gap: .8rem; margin: 0; padding: .9rem 1rem; background: #fff; border-bottom: 1px solid #edf0f3; transition: background .16s ease, opacity .16s ease; }.execution-item.has-action { grid-template-columns: auto 30px minmax(0, 1fr) auto auto; }.execution-item:last-child { border-bottom: 0; }.execution-item:not(.is-selected) { background: #f8fafb; opacity: .58; }.execution-item.is-selected { background: #f3f8ff; }.execution-item-number { display: grid; width: 28px; height: 28px; place-items: center; color: var(--idu-blue); background: var(--idu-blue-soft); border-radius: 9px; font-size: .72rem; font-weight: 800; }.execution-item-copy { display: grid; min-width: 0; gap: .25rem; cursor: pointer; }.execution-item-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.execution-item-copy small { color: var(--idu-muted); }.execution-item .badge { white-space: nowrap; }.execution-reject-button { white-space: nowrap; }

.organization-hero { min-height: 210px; }
.organization-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.organization-card { display: flex; min-height: 250px; flex-direction: column; gap: 1rem; padding: 1.35rem; color: var(--idu-navy); background: #fff; border: 1px solid var(--idu-border); border-radius: 1rem; box-shadow: 0 8px 28px rgba(17,45,72,.055); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.organization-card:hover { color: var(--idu-navy); border-color: #cbdbea; box-shadow: 0 14px 34px rgba(17,45,72,.09); transform: translateY(-2px); }
.organization-icon { display: grid; flex: 0 0 auto; width: 50px; height: 50px; place-items: center; color: var(--idu-blue); background: var(--idu-blue-soft); border-radius: 15px; font-size: 1.25rem; }
.organization-card h2 { margin-bottom: .45rem; font-size: 1.1rem; }.organization-card p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--idu-muted); font-size: .85rem; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }.organization-card > small { margin-top: auto; padding-top: .9rem; color: var(--idu-muted); border-top: 1px solid #edf0f3; font-size: .72rem; }.organization-card > small strong { color: var(--idu-blue); }
.organization-title { display: flex; align-items: center; gap: 1rem; }.organization-title h2 { margin: 0 0 .25rem; font-size: clamp(1.35rem,2.5vw,2rem); }.organization-title p { margin: 0; color: var(--idu-muted); }
.organization-card-list { display: grid; gap: .75rem; }.organization-card-list article { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1rem; background: #f8fafb; border: 1px solid var(--idu-border); border-radius: .8rem; }.organization-card-list article > div { min-width: 0; }.organization-card-list article a { color: var(--idu-navy); font-weight: 800; text-decoration: none; }.organization-card-list article a:hover { color: var(--idu-blue); }.organization-card-list article p { margin: .4rem 0 0; color: var(--idu-muted); font-size: .8rem; line-height: 1.55; }
.investigation-card .organization-icon { color: #0b7b5b; background: #e7f8ef; }.investigation-form-shell { max-width: 980px; }.investigation-detail-title { max-width: 800px; margin: .5rem 0 0; font-size: clamp(1.45rem,3vw,2.25rem); }.investigation-hypothesis { border-left: 4px solid var(--idu-blue); }.investigation-hypothesis > p:last-child { margin: 0; color: #263f58; font-family: Georgia,'Times New Roman',serif; font-size: 1.08rem; line-height: 1.75; }
.note-timeline { display: grid; gap: 0; margin-top: 1.25rem; }.note-timeline article { position: relative; padding: 0 0 1.2rem 1.35rem; border-left: 2px solid #dfe8ef; }.note-timeline article::before { position: absolute; top: .2rem; left: -6px; width: 10px; height: 10px; content: ''; background: var(--idu-green); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #b9ddcc; }.note-timeline article:last-child { padding-bottom: 0; }.note-timeline article > div { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }.note-timeline article strong { font-size: .78rem; }.note-timeline article small { color: var(--idu-muted); font-size: .65rem; }.note-timeline article p { margin: .45rem 0; color: #40576c; font-size: .8rem; line-height: 1.55; }.note-timeline article form { text-align: right; }
.card-organization-links { display: grid; gap: .55rem; }.card-organization-links > a { display: flex; align-items: center; gap: .7rem; padding: .7rem; color: var(--idu-navy); background: #f8fafb; border: 1px solid var(--idu-border); border-radius: .7rem; font-size: .8rem; font-weight: 700; text-decoration: none; }.card-organization-links > a > i { color: var(--idu-blue); }.card-organization-links > a span { min-width: 0; }.card-organization-links > a small { display: block; color: var(--idu-muted); font-size: .65rem; font-weight: 500; }

@media (max-width: 991.98px) {
    .main-content { width: 100%; margin-left: 0; }.app-footer { margin-left: 0; }.topbar { min-height: 90px; }.sidebar { position: fixed; }.login-wrap { grid-template-columns: 1fr; }.login-story { display: none; }.login-panel { min-height: 100vh; padding: 1.5rem; }.mobile-brand { display: flex; }.cards-grid, .organization-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.card-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.card-quick-filters { grid-column: 1 / -1; }.card-filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
    .topbar .eyebrow { display: none; }.topbar h1 { font-size: 1.3rem; }.topbar .btn-primary { padding: .55rem .7rem; font-size: .78rem; }.sprout-illustration { display: none; }.phase-badge { display: none; }.form-actions { margin-right: -1.3rem; margin-bottom: -1.3rem; margin-left: -1.3rem; padding-right: 1.3rem; padding-left: 1.3rem; }.seed-intro { margin-top: -1.3rem; margin-right: -1.3rem; margin-left: -1.3rem; padding-right: 1.3rem; padding-left: 1.3rem; }.panel-note { margin-right: -1.1rem; margin-bottom: -1.1rem; margin-left: -1.1rem; }.login-panel { padding: 1.25rem; }.execution-selection-heading { align-items: flex-start; flex-direction: column; }.execution-item, .execution-item.has-action { grid-template-columns: auto 28px minmax(0, 1fr) auto; }.execution-item .badge { display: none; }.execution-reject-button span { display: none; }.execution-reject-button i { margin-right: 0 !important; }.cards-grid, .card-filter-grid, .organization-grid { grid-template-columns: 1fr; }.card-quick-filters { align-items: flex-start; flex-direction: column; gap: .55rem; }.curation-card { min-height: 0; }.curation-card-actions .btn span { display: none; }.organization-card { min-height: 220px; }.organization-title { align-items: flex-start; }
}
@media (max-width: 575.98px) {
    .site-footer { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .site-footer-details { justify-content: flex-start; text-align: left; }
}
