:root{font-family:Inter,"Segoe UI","Malgun Gothic",sans-serif;color:#173443;background:#eef3f6;font-size:16px}*{box-sizing:border-box}body{margin:0}header{height:90px;background:#fff;border-bottom:1px solid #dbe4e9;padding:0 4vw;display:flex;align-items:center;justify-content:space-between}.brand,.header-right{display:flex;align-items:center;gap:16px}.brand-mark{background:#123e50;color:white;display:grid;place-items:center;font-size:27px;width:44px;height:44px;border-radius:12px}.brand strong{display:block;font-size:23px;letter-spacing:-.6px}.brand small{display:block;margin-top:3px;font-size:12px;letter-spacing:2px;color:#627c88}.badge{font-size:14px;color:#627c88;background:#edf3f6;padding:8px 12px;border-radius:6px}main{max-width:1500px;margin:auto;padding:34px 4vw}.intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;color:#597d8b}h1{font-size:30px;letter-spacing:-.9px;font-weight:550;margin:9px 0}.intro p,.muted{font-size:14px;line-height:1.6;color:#627785}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.editor-panel,.library-panel,.next-panel{background:white;border:1px solid #dbe5eb;border-radius:12px;overflow:hidden}.editor-panel{box-shadow:0 10px 30px #15364907}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid #e4ebef}h2{font-size:18px;margin:0}.panel-head span{display:block;margin-top:5px;font-size:14px;color:#6e818b}button,select,input{font:inherit;font-size:14px}button,.file-button,select{border:1px solid #cfdce3;background:white;border-radius:7px;padding:9px 13px;color:#244858;cursor:pointer}button:hover,.file-button:hover{background:#edf4f7}button:disabled{opacity:.65;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #59abc0;outline-offset:2px}.primary{background:#123e50;border-color:#123e50;color:#fff;font-weight:600}.primary:hover{background:#20566b}.toolbar{display:flex;flex-wrap:wrap;gap:16px;padding:14px 24px;background:#f8fafb;border-bottom:1px solid #e4ebef;align-items:center}.toolbar label{display:flex;gap:7px;align-items:center;font-size:14px}.toolbar button:first-of-type{margin-left:auto}input[type=checkbox]{accent-color:#15576d}textarea{display:block;width:100%;min-height:440px;resize:vertical;border:0;padding:28px 30px;color:#243e4b;background:#fff;font-family:"Segoe UI","Malgun Gothic",sans-serif;font-size:17px;line-height:1.85}textarea::placeholder{color:#92a4ae}.editor-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e4ebef;padding:16px 24px;gap:15px}.editor-footer span{font-size:13px;color:#6c828e}#status{font-size:14px;line-height:1.6;padding:0 24px;margin:0 0 16px;color:#546f7d;min-height:24px}aside{display:grid;gap:20px}.library-panel .panel-head{padding:18px}.library-panel>input{margin:18px 18px 0;width:calc(100% - 36px);padding:11px;border:1px solid #d7e2e8;border-radius:7px}.library-panel>p{margin:12px 18px}.macro-list{max-height:340px;overflow:auto;padding:0 12px 12px}.macro-item{width:100%;display:block;text-align:left;border:0;border-bottom:1px solid #edf1f4;border-radius:0;padding:12px 7px}.macro-item strong{display:block;font-size:14px;color:#1c617a;margin-bottom:6px}.macro-item span{display:block;font-size:14px;line-height:1.45;color:#5a7180;white-space:pre-line}.next-panel{padding:23px;background:#e4edf2;border:0}.next-panel h3{font-size:19px;margin:13px 0 9px}.next-panel p{font-size:14px;color:#57717e;line-height:1.7}.next-panel button{display:block;width:100%;margin-top:10px;background:transparent}dialog{width:min(1100px,94vw);max-height:88vh;border:1px solid #cbdde6;border-radius:12px;color:#173443;padding:0;background:white}dialog::backdrop{background:#102d3d88}.table-actions{padding:16px 24px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.table-actions input{padding:10px;border:1px solid #cfdee5;border-radius:7px;flex:1;min-width:150px}.table-scroll{max-height:48vh;overflow:auto;padding:0 24px}table{border-collapse:collapse;width:100%}th{text-align:left;font-size:14px;padding:12px;background:#edf4f7;position:sticky;top:0}td{border-bottom:1px solid #e1e9ee;padding:7px;vertical-align:top}td input[type=text],td textarea{width:100%;font:inherit;font-size:14px;min-height:0;border:1px solid #d6e2e9;border-radius:4px;padding:8px;line-height:1.5}td:first-child{width:24%}td:last-child{width:70px}td textarea{height:74px}#table-status,#review-note{padding:0 24px;font-size:14px}#corrections{padding:0 24px;max-height:45vh;overflow:auto}.correction{padding:12px 0;border-bottom:1px solid #e4ebef;font-size:16px}.correction del{color:#994735}.correction strong{color:#19674c;margin-left:12px}.correction p{font-size:14px;color:#647a86;margin:6px 0 0}#page-label{font-size:14px}@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1fr) 300px}main{padding:24px}.intro h1{font-size:26px}}@media(max-width:780px){header{height:auto;min-height:80px;padding:18px;gap:15px;flex-wrap:wrap}main{padding:20px 16px}.workspace{grid-template-columns:1fr}.intro{display:block}.intro p{margin:12px 0}.badge{display:none}.brand strong{font-size:21px}.panel-head{padding:16px}.toolbar{padding:12px;gap:10px}textarea{min-height:380px;padding:20px}.table-actions{padding:12px}.table-scroll{padding:0 10px}h1{font-size:25px}aside{grid-template-columns:1fr}.table-scroll table{min-width:520px}}
:root{--halo-accent:#8cb7c9}.halo-logo{width:210px;height:63px;object-fit:contain;background:#212121;border-radius:6px}.brand{gap:22px}@media(max-width:780px){.halo-logo{width:150px;height:45px}.brand{gap:12px}}
:root{color:#E3E3E3;background:#212121;--halo-accent:#8AB4C8}header{background:#212121;border-color:#414141}.brand strong{color:#E3E3E3}.badge{color:#B4B4B4;background:#2D2D2D}.eyebrow{color:#8AB4C8}.intro p,.muted,.panel-head span{color:#B4B4B4}.editor-panel,.library-panel,.next-panel{background:#2D2D2D;border-color:#414141;box-shadow:none}.panel-head,.toolbar,.editor-footer{border-color:#414141}.toolbar{background:#292929}button,.file-button,select{background:#2D2D2D;color:#E3E3E3;border-color:#535353}button:hover,.file-button:hover{background:#3a3a3a}.primary{background:#8AB4C8;border-color:#8AB4C8;color:#212121}.primary:hover{background:#a4c5d5}textarea{background:#2D2D2D;color:#E3E3E3}textarea::placeholder{color:#B4B4B4}.editor-footer span,#status{color:#B4B4B4}.library-panel>input,.table-actions input{background:#2D2D2D;color:#E3E3E3;border-color:#535353}.macro-item{border-color:#414141}.macro-item strong{color:#8AB4C8}.macro-item span,.next-panel p{color:#B4B4B4}.next-panel{background:#2D2D2D}.next-panel button{background:#292929}dialog{background:#2D2D2D;color:#E3E3E3;border-color:#535353}th{background:#373737}td,.correction{border-color:#414141}td input[type=text],td textarea{background:#2D2D2D;color:#E3E3E3;border-color:#535353}.correction del{color:#efaaa1}.correction strong{color:#8AB4C8}.correction p{color:#B4B4B4}input[type=checkbox]{accent-color:#8AB4C8}::selection{background:#8AB4C8;color:#212121}
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:14px 20px;background:#2D2D2D;color:#E3E3E3;border:1px solid #8AB4C8;border-radius:8px;box-shadow:0 8px 24px #0005;z-index:100;font-size:16px}.toast[hidden]{display:none}
.bulk-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 24px;border-top:1px solid #414141}.bulk-actions label{display:flex;align-items:center;gap:7px;font-size:14px}.bulk-actions input[type=text],.bulk-actions input:not([type]){background:#2D2D2D;color:#E3E3E3;border:1px solid #535353;padding:9px;border-radius:6px;width:150px}.bulk-actions span{font-size:14px;color:#B4B4B4}#grid-help{padding:0 24px}.spreadsheet{table-layout:fixed;min-width:680px}.spreadsheet th:first-child{width:70px}.spreadsheet th:nth-child(2){width:23%}.spreadsheet th:last-child{width:80px}.spreadsheet td{padding:0;border:1px solid #414141}.spreadsheet td:first-child{width:auto}.spreadsheet td input[type=text],.spreadsheet td textarea{border:0;border-radius:0;background:transparent;padding:10px;height:64px;resize:vertical;min-height:64px;font-size:14px}.spreadsheet td input[type=text]{height:64px}.spreadsheet td:last-child{text-align:center}.spreadsheet .row-header{background:#282828;font-size:13px;color:#B4B4B4;text-align:center}.row-header span{display:block;margin-top:3px}.spreadsheet .selected-row{background:#8AB4C81f}.spreadsheet .selected-row .row-header{background:#8AB4C840;color:#E3E3E3}#table-dialog{width:min(1400px,96vw)}#table-dialog .table-scroll{max-height:42vh}#delete-rows{border-color:#986b65}#table-body input:focus-visible,#table-body textarea:focus-visible{outline:2px solid #8AB4C8;outline-offset:-2px}@media(max-width:780px){.bulk-actions{padding:10px}.bulk-actions input:not([type]){width:130px}#grid-help{padding:0 12px}#table-dialog .table-scroll{max-height:35vh}}
.library-grid{width:100%;table-layout:fixed}.library-grid th{font-size:13px;padding:8px;background:#353535}.library-grid th:first-child{width:28%}.library-grid td{font-size:14px;padding:9px 5px;vertical-align:top;border-color:#414141;color:#B4B4B4;white-space:pre-line;overflow-wrap:anywhere}.library-grid td:first-child{width:auto}.library-grid td:last-child{width:auto}.library-grid button{padding:4px;border:0;color:#8AB4C8;font-weight:600;background:transparent;overflow-wrap:anywhere;max-width:100%}
/* Continuous, compact worksheet: cell height follows its text, never an inner scrollbar. */
#table-dialog{height:94vh;max-height:94vh;overflow:hidden;border-radius:7px}#table-dialog[open]{display:flex;flex-direction:column}#table-dialog>.panel-head{padding:12px 18px;flex:none}#table-dialog .panel-head p{margin:5px 0 0}#table-dialog>.table-actions,#table-dialog>.bulk-actions{padding:7px 12px;gap:8px;flex:none}#table-dialog button,#table-dialog select,#table-dialog .file-button,#table-dialog .table-actions input,#table-dialog .bulk-actions input{padding:6px 9px;font-size:14px}#table-dialog #grid-help{margin:7px 12px;padding:0;font-size:13px;line-height:1.4}#table-dialog #table-status{margin:3px 12px 7px;padding:0;min-height:17px;font-size:13px}#table-dialog .table-scroll{flex:1;min-height:0;max-height:none;overflow:auto;padding:0 12px;overscroll-behavior:contain;scrollbar-gutter:stable}.spreadsheet th{padding:5px 6px;font-weight:600;font-size:14px;z-index:2;background:#373737;border:1px solid #494949}.spreadsheet th:first-child{width:58px}.spreadsheet th:nth-child(2){width:180px}.spreadsheet th:last-child{width:65px}.spreadsheet td{vertical-align:top;border-color:#484848}.spreadsheet td input[type=text],.spreadsheet td textarea{height:auto;min-height:27px;padding:3px 6px;font-size:14px;line-height:20px;resize:none;overflow:hidden;font-family:"Segoe UI","Malgun Gothic",sans-serif;border-radius:0;box-shadow:none;white-space:pre-wrap}.spreadsheet td input[type=text]{height:27px}.spreadsheet td textarea{field-sizing:content;display:block}.spreadsheet .row-header{height:auto;padding:4px 3px;white-space:nowrap;font-size:12px;vertical-align:top}.row-header span{display:inline;margin:0 0 0 3px}.spreadsheet td:last-child{padding-top:3px}.spreadsheet input[type=checkbox]{width:13px;height:13px;margin:2px 3px;vertical-align:middle}.sheet-footer{padding:8px 14px;border-top:1px solid #414141;color:#B4B4B4;flex:none;font-size:13px}.sheet-footer #page-label{font-size:13px}@media(max-width:780px){#table-dialog{width:98vw;height:96vh;max-height:96vh}#table-dialog .table-scroll{max-height:none;padding:0 5px}.spreadsheet th:nth-child(2){width:130px}}
.report-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.shortcut-content{padding:20px 24px;font-size:16px;line-height:1.6}.shortcut-content>p{color:#B4B4B4;margin:0 0 20px}.shortcut-content>label{display:block;font-size:14px;margin:12px 0 6px}.shortcut-entry{display:flex;gap:10px}.shortcut-entry input{flex:1;min-width:0;background:#212121;color:#E3E3E3;border:1px solid #535353;border-radius:6px;padding:12px;cursor:pointer;font-size:16px}#shortcut-dialog{width:min(620px,94vw)}#shortcut-status{margin:16px 0;min-height:24px;color:#8AB4C8;font-size:14px}@media(max-width:780px){.editor-footer{align-items:flex-start;flex-wrap:wrap}.report-actions{justify-content:flex-start}}
/* The macro worksheet has only the two Excel text columns. */
.spreadsheet th:first-child{width:180px}.spreadsheet th:nth-child(2){width:auto}.spreadsheet th:last-child{width:auto}.spreadsheet td:first-child{width:180px}.spreadsheet td:last-child{padding:0;text-align:left;width:auto}.spreadsheet td input[type=text],.spreadsheet td textarea{cursor:text}.spreadsheet .selected-row td{background:#8AB4C81c}.spreadsheet .selected-row td:first-child{box-shadow:inset 3px 0 #8AB4C8}@media(max-width:780px){.spreadsheet th:first-child,.spreadsheet td:first-child{width:130px}.spreadsheet th:nth-child(2){width:auto}}
main{padding-top:20px}@media(max-width:780px){main{padding-top:14px}}

.personal-content{padding:20px;max-height:75vh;overflow:auto}.personal-content label{display:block;margin:14px 0 6px;color:#B4B4B4}.personal-content input,.personal-content select{background:#2D2D2D;color:#E3E3E3;border:1px solid #535353;border-radius:5px;padding:9px;width:100%}.personal-content textarea{min-height:80px;width:100%;padding:10px;border:1px solid #535353;border-radius:5px;margin-bottom:10px}.personal-content .report-actions{margin-top:14px;flex-wrap:wrap}.personal-content p{line-height:1.6;color:#B4B4B4;font-size:14px}.personal-content pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px}.personal-content details{border-bottom:1px solid #535353;padding:12px 0}.personal-content summary{cursor:pointer;color:#8AB4C8}#personal-dialog,#chat-dialog{width:min(760px,94vw)}#personal-status:empty{display:none}

#storage-status{margin:10px 24px;color:#8AB4C8;font-size:13px}#storage-status:empty{display:none}

#ai-dialog{width:min(820px,94vw)}.ai-usage-scroll{overflow:auto;margin-top:14px}.ai-usage-scroll table{width:100%;font-size:12px}.ai-usage-scroll td,.ai-usage-scroll th{padding:8px}.personal-content a{color:#8AB4C8}.header-right{flex-wrap:wrap}.toolbar{flex-wrap:wrap}

#ai-dialog [hidden]{display:none!important}

/* Minimal reporting workspace: one editor, compact companion actions below. */
main{max-width:none;padding:20px 3vw}.workspace{display:block}.editor-panel{width:100%}.editor-panel .panel-head{padding:14px 22px}.toolbar{gap:10px;padding:10px 22px}.toolbar button:first-of-type{margin-left:auto}#report{min-height:max(420px,calc(100dvh - 320px));line-height:1.65;padding:22px 26px}.editor-footer{padding:12px 22px}.chatgpt-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 2px;color:#B4B4B4;font-size:12px}.chatgpt-footer button{font-size:12px;padding:5px 9px}.workspace>[hidden]{display:none!important}@media(max-width:700px){main{padding:12px}.toolbar{gap:8px;padding:10px 14px}.toolbar button:first-of-type{margin-left:0}.chatgpt-footer{flex-wrap:wrap}#report{padding:18px;min-height:max(360px,calc(100dvh - 360px))}}

[hidden]{display:none!important}
.login-page{max-width:1120px;margin:0 auto;min-height:calc(100dvh - 90px);padding:64px 40px 70px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:90px}.login-story{position:relative}.login-eyebrow{font-size:11px;letter-spacing:3px;color:#8AB4C8;font-weight:600}.login-story h1{font-size:clamp(38px,4.6vw,62px);line-height:1.12;letter-spacing:-2.5px;font-weight:550;margin:22px 0;color:#E3E3E3}.login-story>p{color:#B4B4B4;font-size:15px;line-height:1.7}.login-preview{margin-top:38px;background:linear-gradient(135deg,#2d2d2d,#252828);border:1px solid #444c4f;border-radius:13px;box-shadow:0 26px 70px #0003;transform:rotate(-2deg);max-width:420px}.preview-top,.preview-bottom{display:flex;align-items:center;gap:9px;padding:14px 19px;font-size:9px;letter-spacing:1.3px;color:#B4B4B4}.preview-top{border-bottom:1px solid #ffffff0a}.preview-dot{width:6px;height:6px;border-radius:50%;background:#8AB4C8}.preview-ready{margin-left:auto;color:#8AB4C8;font-size:8px}.preview-body{padding:19px 23px 24px;min-height:190px}.preview-section{display:block;color:#8AB4C8;font-size:11px;margin:9px 0 12px}.preview-line{display:block;width:57%;height:5px;background:#888d8e35;border-radius:5px;margin:13px 0}.preview-line.long{width:93%}.preview-line.medium{width:78%}.preview-line.short{width:63%}.preview-cursor{display:block;width:2px;height:12px;background:#8AB4C8;margin-top:19px}.preview-bottom{border-top:1px solid #ffffff0a;font-size:8px}.preview-bottom span{margin-left:auto}.login-signature{margin-top:32px!important;font-size:10px!important;letter-spacing:2px;color:#8AB4C8!important}.login-signature span{color:#888;letter-spacing:0;margin-left:14px}.login-card{background:#2D2D2D;border:1px solid #424242;border-radius:18px;padding:38px;box-shadow:0 20px 70px #0002}.login-card-mark{display:grid;place-items:center;width:39px;height:39px;color:#8AB4C8;border:1px solid #8AB4C866;border-radius:12px;font-size:20px;margin-bottom:26px}.login-card h2{font-size:27px;letter-spacing:-.7px}.login-card>p{font-size:13px;color:#B4B4B4;line-height:1.7}.login-card #account-form{margin-top:27px}.login-card label{display:block;color:#B4B4B4;font-size:12px;margin:18px 0 8px}.login-card input{width:100%;background:#252525;border:1px solid #494949;color:#E3E3E3;border-radius:8px;padding:13px 14px;min-height:46px}.login-actions{display:grid;gap:10px;margin-top:25px}.login-actions #sign-in{background:#8AB4C8;border-color:#8AB4C8;color:#212121;font-weight:650;padding:13px}.login-actions #sign-in:hover{background:#a0c5d6}.login-actions #create-account{background:transparent;color:#B4B4B4}.login-card #login-status{min-height:20px;font-size:12px;color:#8AB4C8;margin:12px 0}.login-card #guest-edit{display:block;border:0;background:transparent;color:#B4B4B4;font-size:12px;margin:0 auto;padding:8px}.login-card #login-footnote{font-size:10px;text-align:center;margin:23px 0 0;color:#8c8c8c;border-top:1px solid #414141;padding-top:21px}@media(max-width:850px){.login-page{gap:38px;padding:40px 24px;grid-template-columns:1fr 1fr}.login-story h1{font-size:42px}.login-card{padding:28px}.login-preview{transform:none}}@media(max-width:620px){.login-page{display:flex;flex-direction:column;gap:24px;min-height:calc(100dvh - 70px);padding:32px 22px;align-items:stretch}.login-story h1{font-size:36px;margin:15px 0}.login-preview,.login-signature{display:none}.login-card{padding:26px}.login-card-mark{margin-bottom:18px}header .brand strong{font-size:16px}}
