:root{--ink: #1a1a18;--stone: #6b6a65;--sand: #f5f4f1;--paper: #ffffff;--line: #e4e2dc;--line-strong: #d0cdc4;--forest: #2f3d36;--forest-hover: #24302a;--forest-soft: #eef1ef;--danger: #8b3a3a;--danger-soft: #f7eeee;--success: #3d5c4a;--success-soft: #eef4f0;--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--shadow: 0 1px 2px rgba(26, 26, 24, .04), 0 4px 16px rgba(26, 26, 24, .04);--shadow-lg: 0 8px 32px rgba(26, 26, 24, .08);--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--header-h: 64px;--font: "Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);background:var(--sand);color:var(--ink);line-height:1.5;min-height:100vh;font-size:15px}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}.icon{display:inline-block;vertical-align:-.125em;flex-shrink:0}.btn .icon,.btn-sm .icon{margin-right:.4rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--sand)}.login-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);width:100%;max-width:400px;box-shadow:var(--shadow)}.login-brand{text-align:center;margin-bottom:var(--space-8)}.logo-mark{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--forest);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.95rem;letter-spacing:.04em;margin-bottom:var(--space-4)}.login-card .company{font-size:.7rem;font-weight:600;color:var(--stone);text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--space-2)}.login-card h1{font-size:1.35rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-bottom:var(--space-2)}.login-card .subtitle{color:var(--stone);font-size:.9rem}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-size:.78rem;font-weight:500;color:var(--stone);letter-spacing:.02em;margin-bottom:var(--space-2)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font-size:.92rem;transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px #2f3d361a}.form-group textarea{resize:vertical;min-height:72px}.checkbox-row{display:flex;align-items:center;gap:var(--space-2);font-size:.88rem;margin-bottom:var(--space-4);cursor:pointer}.checkbox-row input{width:auto;accent-color:var(--forest)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.15rem;border-radius:var(--radius-sm);border:1px solid transparent;font-size:.88rem;font-weight:500;letter-spacing:.01em;cursor:pointer;line-height:1.2;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--forest);color:var(--paper);width:auto}.btn-primary:hover:not(:disabled){background:var(--forest-hover)}.btn-secondary{background:var(--paper);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){background:var(--sand);border-color:var(--stone)}.btn-danger{background:var(--paper);color:var(--danger);border-color:#e0c8c8}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn-sm{padding:.4rem .7rem;font-size:.78rem;border-radius:5px}.btn-sm.btn-primary{width:auto}.app-header{position:sticky;top:0;z-index:40;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-6);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}.header-brand .logo-mark{width:36px;height:36px;margin-bottom:0;font-size:.8rem}.header-brand h1{font-size:1rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}.company-sub{font-size:.7rem;color:var(--stone);letter-spacing:.04em}.user-info{display:flex;align-items:center;gap:var(--space-3);color:var(--stone);font-size:.85rem}.main-content{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-8)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.toolbar input[type=search],.toolbar select{padding:.6rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font-size:.88rem;min-height:40px}.toolbar input[type=search]{flex:1 1 180px;min-width:160px;max-width:280px}.toolbar select{flex:0 1 auto;min-width:130px}.toolbar input:focus,.toolbar select:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px #2f3d361a}.toolbar .spacer{flex:1 1 12px}.workflow-tip,.workflow-tip-inline{font-size:.82rem;color:var(--stone);background:var(--forest-soft);border:1px solid #d9e0db;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);line-height:1.45}.workflow-docx{color:var(--forest);font-weight:600}.workflow-pdf{color:#7a5a2e;font-weight:600}.bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.bulk-select-all{display:flex;align-items:center;gap:var(--space-2);font-size:.85rem;font-weight:500;cursor:pointer}.bulk-select-all input{width:auto;accent-color:var(--forest)}.bulk-count{font-size:.82rem;color:var(--stone)}.bulk-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-left:auto}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4)}.doc-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow);transition:border-color .15s ease,box-shadow .15s ease}.doc-card:hover{border-color:var(--line-strong)}.doc-card.selected{border-color:var(--forest);box-shadow:0 0 0 2px #2f3d3626}.doc-card-header{display:flex;align-items:flex-start;gap:var(--space-3)}.doc-card-header h3{margin:0;flex:1;font-size:.98rem;font-weight:600;letter-spacing:-.01em;line-height:1.35;color:var(--ink)}.doc-select{display:flex;padding-top:.15rem;cursor:pointer}.doc-select input{width:auto;accent-color:var(--forest)}.doc-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;font-size:.78rem;color:var(--stone)}.badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;background:var(--sand);border:1px solid var(--line);color:var(--stone);font-size:.72rem;font-weight:500;letter-spacing:.02em}.badge-template{background:var(--forest-soft);border-color:#d0d9d3;color:var(--forest)}.badge-version{background:transparent;border-color:var(--line)}.badge-file{font-weight:600;letter-spacing:.03em}.badge-file-pdf{background:#faf6f0;color:#7a5a2e;border-color:#e8dcc8}.badge-file-docx{background:var(--forest-soft);color:var(--forest);border-color:#d0d9d3}.doc-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--line)}.empty-state{text-align:center;padding:var(--space-8) var(--space-4);color:var(--stone);background:var(--paper);border:1px dashed var(--line-strong);border-radius:var(--radius)}.empty-state p+p{margin-top:var(--space-2)}.error-msg{background:var(--danger-soft);color:var(--danger);border:1px solid #e0c8c8;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:.88rem}.success-msg{background:var(--success-soft);color:var(--success);border:1px solid #c8d9cf;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:.88rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1866;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:var(--space-6) var(--space-4);overflow-y:auto;z-index:100}.modal{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6);width:100%;max-width:480px;margin:auto 0;box-shadow:var(--shadow-lg)}.modal.wide{max-width:640px}.modal h2{font-size:1.15rem;font-weight:600;letter-spacing:-.02em;margin-bottom:var(--space-4)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line)}.file-input-wrapper{border:1.5px dashed var(--line-strong);border-radius:var(--radius);padding:var(--space-6) var(--space-4);text-align:center;cursor:pointer;background:var(--sand);transition:border-color .15s ease,background .15s ease;color:var(--stone)}.file-input-wrapper:hover,.file-input-wrapper.drag-active{border-color:var(--forest);background:var(--forest-soft);color:var(--ink)}.file-input-wrapper input{display:none}.file-name{font-weight:500;color:var(--ink);font-size:.9rem}.hazard-picker{max-height:280px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--sand)}.hazard-category{margin-bottom:var(--space-3)}.hazard-category-title{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--stone);margin-bottom:var(--space-2)}.hazard-picker label{display:flex;align-items:flex-start;gap:var(--space-2);font-size:.84rem;margin-bottom:.25rem;cursor:pointer}.hazard-picker input{margin-top:.2rem;accent-color:var(--forest)}.version-list{list-style:none;margin:0 0 var(--space-4);padding:0}.version-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);font-size:.88rem}form.loading{opacity:.65;pointer-events:none}.hide-mobile{display:inline}@media(max-width:768px){:root{--header-h: 56px}.app-header{padding:0 var(--space-4)}.main-content{padding:var(--space-4) var(--space-4) var(--space-6)}.toolbar{gap:var(--space-2)}.toolbar input[type=search]{flex:1 1 100%;max-width:none}.toolbar select{flex:1 1 calc(50% - var(--space-2));min-width:0}.toolbar .spacer{display:none}.toolbar .btn-primary{flex:1 1 100%}.doc-grid{grid-template-columns:1fr;gap:var(--space-3)}.doc-card{padding:var(--space-4)}.bulk-actions{margin-left:0;width:100%}.bulk-actions .btn{flex:1}.hide-mobile{display:none}.modal-overlay{padding:var(--space-4) var(--space-3)}.modal{padding:var(--space-5)}.login-card{padding:var(--space-6) var(--space-5)}}@media(max-width:420px){.btn-sm{font-size:.74rem;padding:.35rem .55rem}.header-brand h1{font-size:.92rem}}@media(min-width:1100px){.doc-grid{grid-template-columns:repeat(3,1fr)}}html,body,#root{height:100%;margin:0}
