:root{color-scheme:light;--ink:#172e43;--muted:#68798a;--line:#dfe7ee;--primary:#146b76;--bg:#f3f6fa;--nav:#102b41}
*{box-sizing:border-box}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.7}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,a,input,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}
h1{font-size:1.75rem;line-height:1.5;margin:0 0 .4rem;font-weight:700}h2{font-size:1.15rem;margin:0 0 1rem}p{margin:.35rem 0 1rem}.muted{color:var(--muted)}.block{display:block}.mono{font:12px monospace;overflow-wrap:anywhere}
.portal-header{background:var(--nav);color:white;padding:20px 4vw;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{color:white;display:flex;align-items:center;gap:14px;font:20px Arial,sans-serif;direction:ltr}.brand small{display:block;font:12px Tahoma,sans-serif;opacity:.7;margin-top:6px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#1a8792;color:white;font:bold 24px Arial}.account-links{display:flex;gap:24px;font-size:13px}.account-links a{color:#deedf5}.portal-nav{display:flex;flex-wrap:wrap;gap:8px;padding:10px 4vw;background:#fff;border-bottom:1px solid var(--line)}.portal-nav a{color:var(--muted);padding:8px 15px;border-radius:8px;font-size:14px}.portal-nav .active{color:var(--primary);background:#e9f4f5;font-weight:bold}.portal-main{max-width:1600px;margin:auto;padding:30px 4vw 48px;min-height:70vh}.portal-footer{font-size:12px;color:var(--muted);padding:12px 4vw;border-top:1px solid var(--line)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.page-heading p{color:var(--muted);font-size:14px;max-width:850px}.eyebrow{color:var(--primary);font-size:12px;font-weight:bold}.app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.application-card{padding:24px;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;max-width:460px;min-height:270px}.app-icon{width:55px;height:55px;border-radius:14px;display:grid;place-items:center;color:var(--primary);background:#eaf5f5;margin-bottom:18px}.application-card p{color:var(--muted);font-size:14px;flex:1}.app-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin:16px 0}.help-panel{margin-top:28px;padding:20px 24px;background:#eaf1f7;border-radius:12px;font-size:14px}.help-panel p{margin-bottom:0}.editor-layout{display:grid;grid-template-columns:minmax(310px,420px) minmax(0,1fr);gap:24px;align-items:start}.section-panel{padding:24px;border:1px solid var(--line);border-radius:12px}.form-stack{display:flex;flex-direction:column;gap:14px}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px;text-align:right}.data-table th{white-space:nowrap;background:#f6f8fb;color:#607489;font-size:12px}.data-table th,.data-table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table small{max-width:330px}.validation-summary-errors{color:#a52626;font-size:13px}.validation-summary-valid{display:none}#blazor-error-ui{display:none;position:fixed;bottom:0;inset-inline:0;background:#fee2e2;color:#7f1d1d;padding:16px;z-index:10000}#components-reconnect-modal{position:fixed;top:0;inset-inline:0;background:#fff0cf;padding:16px;z-index:10001;text-align:center}.components-reconnect-hide{display:none}.components-reconnect-show,.components-reconnect-failed,.components-reconnect-rejected{display:block}
.auth-body{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(140deg,#eaf1f6,#f7fafc)}.auth-card{width:min(100%,480px);background:white;padding:36px;border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 50px #1831460a}.auth-brand{display:flex;gap:12px;align-items:center;direction:ltr;margin-bottom:32px}.auth-card label{font-size:14px;font-weight:bold}.auth-card input,.auth-card textarea{width:100%;border:1px solid #cbd7e1;border-radius:8px;padding:12px;direction:ltr}.auth-card input:focus{border-color:var(--primary);outline:2px solid #c3e1e4}.primary-button{border:0;border-radius:8px;color:#fff;background:var(--primary);padding:12px 22px;font-weight:bold}.auth-note{margin:22px 0 0;font-size:12px;color:var(--muted)}
.viewer-body{height:100dvh;display:flex;flex-direction:column;background:#182332;overflow:hidden}.viewer-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line);flex-shrink:0}.viewer-brand{font:bold 17px Arial;color:var(--primary)}.viewer-actions{display:flex;gap:6px;flex-wrap:wrap;margin-inline-start:auto}.viewer-toolbar button,#clipboard-panel button,.download-row button{border:1px solid #d5e0e8;background:#f8fafc;color:var(--ink);border-radius:6px;padding:5px 12px;font-size:12px}#connection-status{font-size:12px;color:var(--primary);padding:3px 10px;background:#eaf5f5;border-radius:20px}#viewport{flex:1;min-height:140px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;direction:ltr;outline:none}#display{direction:ltr;flex-shrink:0}#empty-display{position:absolute;color:#aabcca;text-align:center;padding:24px;direction:rtl}#viewer-progress{display:flex;align-items:center;gap:16px;justify-content:center;background:#eff8fa;padding:10px;color:var(--primary);font-size:13px}progress{accent-color:var(--primary);height:8px}#viewer-progress progress{width:140px}.viewer-error{padding:10px 18px;background:#fff0ed;color:#963426;font-size:13px;max-height:110px;overflow:auto}.viewer-footer{color:#d7e5ef;font-size:11px;padding:7px 16px;flex-shrink:0}#clipboard-panel{background:#fff;padding:10px 18px;border-top:1px solid var(--line);font-size:12px}#clipboard-panel textarea{width:100%;display:block;border:1px solid #d4dfe7;border-radius:6px;margin:5px 0;max-height:100px;resize:vertical}#clipboard-panel small{color:var(--muted)}#downloads{background:#f7fafc;padding:10px 18px;max-height:160px;overflow:auto;font-size:12px}.download-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:6px}.download-row.failed{color:#9a3226}.download-row a{font-weight:bold}
@media(max-width:1000px){.editor-layout{grid-template-columns:1fr}.section-panel{padding:18px}.portal-main{padding:22px}.portal-header{padding:16px 22px}.portal-nav{padding:10px 18px}.portal-nav a{padding:7px 10px;font-size:12px}.viewer-actions{margin-inline-start:0}.page-heading{align-items:flex-start}.viewer-toolbar strong{max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:600px){h1{font-size:1.4rem}.portal-header{align-items:flex-start;flex-wrap:wrap}.account-links{gap:18px}.page-heading{flex-direction:column;gap:8px}.auth-card{padding:24px}.application-card{max-width:none}.viewer-toolbar{gap:8px;padding:8px}.viewer-footer{font-size:10px}.viewer-actions button{padding:4px 7px}}

/* Native gateway is rendered at the same authenticated tenant origin. */
.native-frame { width:100%; height:100%; min-height:480px; border:0; display:block; background:#fff; }
.viewer-body[data-backend="Myrtille"] #display { width:100%; height:100%; }
.viewer-body[data-backend="Myrtille"] #viewport { min-height:480px; overflow:hidden; }
