:root{--color-pm-primary:#173b31;--color-pm-hover:#1f4f42;--color-pm-dark:#0f2720;--color-pm-gold:#c29b38;--color-ink:#111827;--color-ink-light:#475569;--color-border:#e2e8f0;--color-border-subtle:#cbd5e1;--color-canvas:#eef2f6;--color-sidebar-bg:#fff;--doc-font-size:11pt;--doc-line-height:1.45}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;color:var(--color-ink);background-color:var(--color-canvas);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-layout{grid-template-columns:440px minmax(0,1fr);min-height:100vh;display:grid}.editor-sidebar{background:var(--color-sidebar-bg);border-right:1px solid var(--color-border);z-index:20;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;box-shadow:2px 0 10px #00000008}.sidebar-top{border-bottom:1px solid var(--color-border);background:#fafbfc;padding:20px 24px 16px}.logo-badge{align-items:center;gap:12px;display:flex}.icon-shield{color:var(--color-pm-primary);box-sizing:content-box;background:#e8f3ef;border-radius:10px;padding:8px}.app-subtitle{letter-spacing:.12em;color:var(--color-pm-primary);font-size:10px;font-weight:800;display:block}.app-title{color:var(--color-ink);letter-spacing:-.02em;margin:2px 0 0;font-size:18px;font-weight:700}.stats-pills{gap:8px;margin-top:14px;display:flex}.pill{border:1px solid var(--color-border);color:#334155;background:#f1f5f9;border-radius:20px;padding:3px 10px;font-size:11px}.pill strong{color:var(--color-pm-primary)}.tab-nav{border-bottom:1px solid var(--color-border);background:#f8fafc;gap:4px;padding:6px 12px 0;display:flex}.tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;align-items:center;gap:6px;padding:9px 12px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.tab-btn:hover{color:var(--color-ink);background:#00000005}.tab-btn.active{color:var(--color-pm-primary);border-bottom-color:var(--color-pm-primary);background:#fff}.tab-body{flex:1;padding:20px 24px;overflow-y:auto}.tab-section{flex-direction:column;gap:16px;display:flex}.section-header h3{color:var(--color-ink);margin:0 0 4px;font-size:14px;font-weight:700}.section-desc{color:var(--color-ink-light);margin:0;font-size:11.5px;line-height:1.45}.file-actions-bar{gap:8px;margin-bottom:6px;display:flex}.file-btn{border:1px solid var(--color-border);color:#334155;cursor:pointer;background:#f1f5f9;border-radius:6px;align-items:center;gap:6px;padding:6px 11px;font-size:11.5px;font-weight:600;transition:all .15s;display:inline-flex}.file-btn:hover{color:#0f172a;background:#e2e8f0}.file-btn-download{color:var(--color-pm-primary);background:#e8f3ef;border-color:#c4e1d7}.file-btn-download:hover{background:#d1e7df}.btn-viewer-link{border:1px solid var(--color-border);color:var(--color-pm-primary);background:#f8fafc;padding:7px 10px;font-size:11.5px;font-weight:600;text-decoration:none}.btn-viewer-link:hover{color:var(--color-pm-hover);background:#f1f5f9}.quick-viewer-btn{border:1px solid var(--color-border);color:var(--color-pm-primary);background:#fff;border-radius:7px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.quick-viewer-btn:hover{border-color:var(--color-pm-primary);background:#f8fafc}.quick-snippets{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.snippets-label{color:#64748b;margin-right:2px;font-size:11px;font-weight:700}.snippet-tag{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.snippet-tag:hover{color:#0f172a;background:#e2e8f0;border-color:#94a3b8}.snippet-tag.tag-pagebreak{color:#92400e;background:#fef3c7;border-color:#fde68a}.snippet-tag.tag-pagebreak:hover{background:#fde68a}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:#334155;font-size:11.5px;font-weight:600}.form-group label strong{color:var(--color-pm-primary)}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}input[type=text],input[type=number],select{border:1px solid var(--color-border-subtle);width:100%;color:var(--color-ink);background:#fff;border-radius:7px;outline:none;padding:8px 12px;font-size:12.5px;transition:border-color .15s}input[type=text]:focus,input[type=number]:focus,select:focus{border-color:var(--color-pm-primary);box-shadow:0 0 0 3px #173b311a}input[type=range]{accent-color:var(--color-pm-primary);cursor:pointer}.textarea-wrapper{width:100%}.editor-textarea{border:1px solid var(--color-border-subtle);width:100%;color:var(--color-ink);resize:vertical;background:#fdfdfd;border-radius:8px;outline:none;min-height:380px;padding:12px;font-family:"Source Serif 4",Georgia,serif;font-size:12.5px;line-height:1.5}.editor-textarea:focus{border-color:var(--color-pm-primary);background:#fff;box-shadow:0 0 0 3px #173b311a}.checkbox-group{padding:4px 0}.checkbox-label{color:#334155;cursor:pointer;align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.checkbox-label input[type=checkbox]{accent-color:var(--color-pm-primary);cursor:pointer;width:16px;height:16px}.radio-cards{grid-template-columns:1fr 1fr;gap:8px;display:grid}.radio-card{border:1px solid var(--color-border);text-align:left;cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;gap:3px;padding:10px;transition:all .15s;display:flex}.radio-card:hover{border-color:#94a3b8}.radio-card.active{border-color:var(--color-pm-primary);background:#f3f8f6;box-shadow:0 0 0 2px #173b3126}.card-sample{color:var(--color-ink);font-size:14px;font-weight:700}.card-desc{color:#64748b;font-size:10px}.divider{border:none;border-top:1px solid var(--color-border);margin:4px 0}.helper-rules{border-left:3px solid var(--color-pm-primary);color:#475569;background:#f8fafc;border-radius:0 6px 6px 0;padding:10px 12px;font-size:11px;line-height:1.45}.helper-rules p{margin:0}.sidebar-bottom{border-top:1px solid var(--color-border);background:#fff;flex-direction:column;gap:10px;padding:16px 24px;display:flex}.btn-action{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:12.5px;font-weight:700;transition:all .15s;display:flex}.btn-primary{background:var(--color-pm-primary);color:#fff}.btn-primary:hover{background:var(--color-pm-hover);box-shadow:0 4px 12px #173b3140}.secondary-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.btn-secondary{border:1px solid var(--color-border);color:#334155;background:#f1f5f9;padding:7px 10px;font-size:11.5px;font-weight:600}.btn-secondary:hover{color:#0f172a;background:#e2e8f0}.preview-container{background-color:var(--color-canvas);background-image:radial-gradient(#cbd5e1 1px,#0000 1px);background-size:24px 24px;flex-direction:column;height:100vh;display:flex;overflow-y:auto}.preview-topbar{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);background:#ffffffeb;justify-content:space-between;align-items:center;padding:12px 32px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:12px;display:flex}.view-mode-tag{color:var(--color-pm-primary);align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.doc-chip{border:1px solid var(--color-border);color:#475569;background:#f1f5f9;border-radius:14px;padding:3px 10px;font-size:11px;font-weight:600}.pages-chip{color:var(--color-pm-primary);background:#e8f3ef;border-color:#c4e1d7}.topbar-right{align-items:center;gap:12px;display:flex}.zoom-controls{border:1px solid var(--color-border);background:#fff;border-radius:7px;align-items:center;display:flex;overflow:hidden}.zoom-btn{color:#475569;cursor:pointer;background:0 0;border:none;align-items:center;padding:6px 9px;display:flex}.zoom-btn:hover{color:#0f172a;background:#f1f5f9}.zoom-reset-btn{border:none;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);color:#334155;cursor:pointer;background:0 0;padding:6px 10px;font-size:11px;font-weight:600}.quick-print-btn{background:var(--color-pm-primary);color:#fff;cursor:pointer;border:none;border-radius:7px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;transition:background .15s;display:flex}.quick-print-btn:hover{background:var(--color-pm-hover)}.sheets-viewport{flex-direction:column;align-items:center;gap:40px;padding:40px 24px 80px;transition:transform .2s cubic-bezier(.16,1,.3,1);display:flex}.paper-page-wrapper{flex-direction:column;align-items:center;gap:10px;display:flex}.page-watermark-indicator{align-self:flex-start}.page-badge{color:#fff;letter-spacing:.05em;background:#334155;border-radius:4px;padding:3px 10px;font-size:10.5px;font-weight:700;box-shadow:0 2px 5px #0000001a}.paper-a4{box-sizing:border-box;-webkit-user-select:text;user-select:text;background:#fff;flex-direction:column;width:210mm;height:297mm;min-height:297mm;max-height:297mm;padding:16mm 22mm 18mm 26mm;font-family:Montserrat,Arial,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #0f172a1f,0 2px 6px #0f172a0f}.paper-a4.font-serif,.paper-a4.font-sans{font-family:Montserrat,Arial,sans-serif}.paper-a4.text-justified .norm-article,.paper-a4.text-justified .norm-paragraph,.paper-a4.text-justified .norm-item,.paper-a4.text-justified .norm-subitem,.paper-a4.text-justified .norm-text{text-align:justify;text-justify:inter-word}.paper-a4.text-left .norm-article,.paper-a4.text-left .norm-paragraph,.paper-a4.text-left .norm-item,.paper-a4.text-left .norm-subitem,.paper-a4.text-left .norm-text{text-align:left}.inst-header{z-index:2;grid-template-columns:85px 1fr 85px;align-items:center;min-height:90px;margin-bottom:24px;display:grid;position:relative}.header-crest-col{align-items:center;display:flex}.left-col{justify-content:flex-start}.right-col{justify-content:flex-end}.crest-img{object-fit:contain;background:0 0;border:none;outline:none;width:78px;height:88px}.emblem-img{object-fit:contain;background:0 0;border:none;outline:none;width:80px;height:78px}.header-title-col{text-align:center;flex-direction:column;justify-content:center;gap:2px;display:flex}.header-line{color:#0a0a0a;text-transform:uppercase;letter-spacing:-.015em;margin:0;font-family:Montserrat,Arial,sans-serif;font-weight:800;line-height:1.25}.header-line.line-1,.header-line.line-2,.header-line.line-3{font-size:12pt}.header-placeholder{height:20px}.watermark-container{pointer-events:none;z-index:1;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}.watermark-image{object-fit:contain;pointer-events:none;max-width:80%;max-height:55%;margin:auto;transition:opacity .2s}.paper-body{z-index:2;flex-direction:column;flex:1;display:flex;position:relative}.document-lead-heading{text-align:center;margin-bottom:22px}.doc-main-title{text-transform:uppercase;color:#000;letter-spacing:-.01em;margin:0;font-family:Montserrat,Arial,sans-serif;font-size:11pt;font-weight:800;line-height:1.35}.doc-subtitle{color:#1e293b;text-transform:uppercase;margin:4px 0 0;font-family:Montserrat,Arial,sans-serif;font-size:11pt;font-weight:700}.blocks-container{font-family:Montserrat,Arial,sans-serif;font-size:var(--doc-font-size);line-height:var(--doc-line-height);color:#111;overflow-wrap:anywhere}.norm-title{text-align:center;text-transform:uppercase;color:#000;margin-top:14px;margin-bottom:6px;font-family:Montserrat,Arial,sans-serif;font-size:11pt;font-weight:800}.norm-chapter{text-align:center;text-transform:uppercase;color:#1a1a1a;margin-top:12px;margin-bottom:6px;font-family:Montserrat,Arial,sans-serif;font-size:11pt;font-weight:700}.norm-section{text-align:center;color:#262626;margin-top:10px;margin-bottom:6px;font-family:Montserrat,Arial,sans-serif;font-size:11pt;font-weight:700}.norm-article{text-indent:0;margin:18px 0 0;padding-left:0;font-family:Montserrat,Arial,sans-serif;font-size:11pt}.blocks-container>.norm-title:first-child,.blocks-container>.norm-chapter:first-child,.blocks-container>.norm-section:first-child,.blocks-container>.norm-article:first-child{margin-top:0}.norm-prefix{color:#000;font-weight:700}.norm-paragraph{text-indent:20px;margin:0;font-family:Montserrat,Arial,sans-serif;font-size:11pt}.norm-item{text-indent:-12px;margin:0;padding-left:28px;font-family:Montserrat,Arial,sans-serif;font-size:11pt}.norm-subitem{text-indent:-12px;margin:0;padding-left:44px;font-family:Montserrat,Arial,sans-serif;font-size:11pt}.norm-text{text-indent:20px;margin:0;font-family:Montserrat,Arial,sans-serif;font-size:11pt}.norm-images-row{page-break-inside:avoid;break-inside:avoid;justify-content:center;align-items:center;gap:12px;margin:10px 0 14px;display:flex}.norm-figure{text-align:center;flex-direction:column;align-items:center;margin:0;display:flex}.norm-img{object-fit:contain;background:#fff;border:1px solid #cbd5e1;border-radius:6px;max-width:100%;max-height:155px;box-shadow:0 1px 3px #0000000d}.count-1 .norm-img{max-height:180px}.count-2 .norm-img{max-height:140px}.count-3 .norm-img{max-height:115px}.count-4 .norm-img{max-height:100px}.norm-figcaption{color:#475569;text-align:center;margin-top:4px;font-family:Montserrat,Arial,sans-serif;font-size:8.5pt}.norm-uniform-card{page-break-inside:avoid;break-inside:avoid;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:140px 1fr;align-items:center;gap:16px;margin:12px 0 16px;padding:10px 14px;display:grid}.uniform-card-photo{justify-content:center;align-items:center;display:flex}.uniform-img{object-fit:contain;border-radius:4px;max-width:130px;max-height:175px}.uniform-card-specs{color:#1e293b;grid-template-columns:1fr 1fr;gap:5px 14px;font-family:Montserrat,Arial,sans-serif;font-size:9pt;line-height:1.35;display:grid}.uniform-spec-item{align-items:flex-start;gap:5px;display:flex}.spec-bullet{color:var(--color-pm-primary);font-weight:800;line-height:1}.inst-footer{z-index:2;margin-top:auto;padding-top:12px;position:relative}.footer-content{justify-content:center;align-items:center;min-height:22px;display:flex;position:relative}.footer-text{color:#0a0a0a;text-transform:uppercase;letter-spacing:-.01em;text-align:center;font-family:Montserrat,Arial,sans-serif;font-size:11pt;font-weight:800}.footer-page-number{color:#475569;font-family:Montserrat,Arial,sans-serif;font-size:11pt;font-weight:600;position:absolute;right:0}.viewer-layout{background-color:var(--color-canvas);background-image:radial-gradient(#cbd5e1 1px,#0000 1px);background-size:24px 24px;flex-direction:column;min-height:100vh;display:flex}.viewer-topbar{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);background:#fffffff0;justify-content:space-between;align-items:center;gap:16px;padding:12px 32px;display:flex;position:sticky;top:0;box-shadow:0 1px 4px #0000000a}.viewer-branding{align-items:center;gap:12px;display:flex}.viewer-badge-icon{width:38px;height:38px;color:var(--color-pm-primary);background:#e8f3ef;border-radius:9px;place-items:center;display:grid}.viewer-branding-text{flex-direction:column;display:flex}.viewer-eyebrow{letter-spacing:.1em;color:var(--color-pm-primary);font-size:9.5px;font-weight:800}.viewer-title{color:var(--color-ink);letter-spacing:-.01em;margin:1px 0 0;font-size:15px;font-weight:700}.viewer-actions{align-items:center;gap:10px;display:flex}.viewer-chip{border:1px solid var(--color-border);color:#475569;background:#f1f5f9;border-radius:14px;padding:4px 12px;font-size:11.5px;font-weight:500}.viewer-chip strong{color:var(--color-pm-primary)}.viewer-btn{cursor:pointer;border:none;border-radius:7px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.viewer-btn-primary{background:var(--color-pm-primary);color:#fff}.viewer-btn-primary:hover{background:var(--color-pm-hover);box-shadow:0 4px 10px #173b3133}.viewer-btn-secondary{border:1px solid var(--color-border);color:#334155;background:#f1f5f9}.viewer-btn-secondary:hover{color:#0f172a;background:#e2e8f0}.viewer-btn-ghost{color:#64748b;background:0 0;border:1px solid #0000}.viewer-btn-ghost:hover{color:var(--color-pm-primary);border-color:var(--color-border);background:#f8fafc}.viewer-canvas{flex:1;overflow-y:auto}@media (max-width:1100px){.app-layout{grid-template-columns:380px minmax(0,1fr)}}@media (max-width:860px){.app-layout{display:block}.editor-sidebar{border-right:none;border-bottom:1px solid var(--color-border);height:auto;position:relative}.preview-container{height:auto}.sheets-viewport{padding:20px 10px}.paper-a4{aspect-ratio:210/297;width:100%;height:auto;min-height:auto;max-height:none;padding:20px 24px}}@media print{@page{size:A4 portrait;margin:0}*,:before,:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{background:#fff!important;width:210mm!important;height:auto!important;margin:0!important;padding:0!important}.app-layout,.viewer-layout{background:0 0!important;display:block!important}.editor-sidebar,.preview-topbar,.viewer-topbar,.page-watermark-indicator,.quick-print-btn,.zoom-controls{display:none!important}.preview-container,.viewer-canvas{background:0 0!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.sheets-viewport{gap:0!important;margin:0!important;padding:0!important;transform:none!important}.paper-page-wrapper{page-break-after:always!important;break-after:page!important;gap:0!important;margin:0!important;padding:0!important}.paper-page-wrapper:last-child{page-break-after:avoid!important;break-after:avoid!important}.paper-a4{width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;box-shadow:none!important;page-break-after:always!important;break-after:page!important;border:none!important;margin:0!important;padding:16mm 22mm 18mm 26mm!important;position:relative!important;overflow:hidden!important}.watermark-container{z-index:1!important;pointer-events:none!important;justify-content:center!important;align-items:center!important;width:210mm!important;height:297mm!important;margin:0!important;padding:0!important;display:flex!important;position:absolute!important;inset:0!important}.watermark-image{object-fit:contain!important;max-width:80%!important;max-height:55%!important;margin:auto!important}.inst-header{min-height:24mm!important;margin-bottom:6mm!important}.crest-img{width:21mm!important;height:24mm!important}.emblem-img{width:22mm!important;height:21mm!important}.header-line.line-1,.header-line.line-2,.header-line.line-3{font-family:Montserrat,Arial,sans-serif!important;font-size:12pt!important}.paper-body,.blocks-container,.norm-article,.norm-paragraph,.norm-item,.norm-subitem,.norm-text,.doc-main-title,.doc-subtitle,.norm-title,.norm-chapter,.norm-section,.footer-text,.footer-page-number{font-family:Montserrat,Arial,sans-serif!important;font-size:11pt!important}.norm-images-row,.norm-uniform-card{page-break-inside:avoid!important;break-inside:avoid!important}}.login-wrap{background:var(--color-canvas);place-items:center;min-height:100vh;display:grid}.login-card{border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;gap:12px;width:340px;padding:32px;display:flex;box-shadow:0 8px 30px #0f172a14}.login-card h1{margin:0;font-size:18px}.login-card p{color:var(--color-ink-light);margin:0;font-size:12px}.login-icon{width:42px;height:42px;color:var(--color-pm-primary);background:#e8f3ef;border-radius:10px;place-items:center;display:grid}.login-card input{border:1px solid var(--color-border-subtle);border-radius:7px;width:100%;padding:9px 12px;font-size:13px}.login-error{color:#b91c1c;font-size:12px;font-weight:600}.publish-ok{color:var(--color-pm-primary);font-size:12px;font-weight:600}.btn-action:disabled{opacity:.6;cursor:not-allowed}.index-wrap{max-width:560px;margin:0 auto;padding:64px 24px}.index-head{align-items:center;gap:14px;margin-bottom:28px;display:flex}.index-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.index-card{border:1px solid var(--color-border);color:var(--color-ink);background:#fff;border-radius:10px;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;transition:all .15s;display:flex}.index-card:hover{border-color:var(--color-pm-primary);box-shadow:0 4px 14px #173b311a}.index-card span{flex-direction:column;gap:2px;display:flex}.index-card em{color:var(--color-ink-light);font-size:12.5px;font-style:normal}
