:root{font-family:Inter,Arial,sans-serif;color:#1d252c;background:#f4f1eb}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.login-page{display:grid;min-height:100vh;place-items:center;padding:1rem}.login-panel{display:grid;gap:1rem;width:min(28rem,100%);padding:1.25rem;border:1px solid #ddd6cc;border-radius:8px;background:#fffaf4}.login-panel__header{display:flex;gap:.75rem;align-items:center}.login-panel__header h1,.login-panel__header p{margin:0}.login-panel label{display:grid;gap:.35rem;color:#66727c;font-size:.82rem;font-weight:700;text-transform:uppercase}.login-panel input{min-height:2.5rem;padding:.55rem .7rem;border:1px solid #ddd6cc;border-radius:8px;background:#f4f1eb;color:#1d252c;text-transform:none}.login-panel button,.logout-button{min-height:2.45rem;padding:.55rem .85rem;border:1px solid #2f7256;border-radius:8px;background:#2f7256;color:#fff;cursor:pointer;font-weight:700}.login-panel button:disabled{cursor:wait;opacity:.7}.form-error{margin:0;padding:.65rem .75rem;border:1px solid #d98c7c;border-radius:8px;background:#fde6e2;color:#8d3022;font-weight:700}.sidebar{padding:1.25rem;border-right:1px solid #ddd6cc;background:#fffaf4}.brand{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:8px;background:#2f7256;color:#fff;font-weight:800}.brand h1,.brand p,.page-header h2,.page-header p,.module-card h3,.module-card p{margin:0}.brand h1{font-size:1rem}.brand p,.page-header p,.module-card p{color:#66727c}.nav-list{display:grid;gap:.35rem}.nav-list a{padding:.65rem .75rem;border-radius:8px;color:#1d252c;text-decoration:none;font-weight:700}.nav-list a:hover,.nav-list a:focus-visible{background:#e4f2ed;color:#216956;outline:none}.content{padding:1.5rem}.page-header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.logout-button{align-self:start;white-space:nowrap}.page-header h2{font-size:1.5rem}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin-bottom:1rem}.detail-panel,.service-status{padding:1rem;border:1px solid #ddd6cc;border-radius:8px;background:#fffaf4}.detail-panel__header,.service-status{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.detail-panel__header{margin-bottom:.8rem}.detail-panel__header h3,.service-status h4,.service-status p{margin:0}.detail-panel__header span,.status-chip{display:inline-flex;align-items:center;min-height:1.6rem;padding:.2rem .45rem;border-radius:8px;background:#e4f2ed;color:#216956;font-size:.8rem;font-weight:700;white-space:nowrap}.status-chip--pending{background:#fff0cf;color:#8a5d00}.profile-list{display:grid;grid-template-columns:9rem minmax(0,1fr);margin:0}.profile-list dt,.profile-list dd{margin:0;padding:.65rem 0;border-top:1px solid #ddd6cc}.profile-list dt{color:#66727c;font-weight:700}.chip-row{display:flex;gap:.35rem;flex-wrap:wrap}.service-status-list{display:grid;gap:.6rem}.service-status p{margin-top:.25rem;color:#66727c;font-size:.9rem}.module-section{display:grid;gap:1rem;margin-top:1rem}.module-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.module-section__header h3,.module-section__header p,.detail-panel h4{margin:0}.module-section__header p{margin-top:.25rem;color:#66727c}.classifier-layout{display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(0,1.4fr);gap:1rem}.project-layout{display:grid;grid-template-columns:minmax(18rem,1fr);gap:1rem}.document-layout{display:grid;grid-template-columns:minmax(22rem,1fr) minmax(24rem,1.1fr);gap:1rem}.document-layout .detail-panel:last-child{grid-column:1 / -1}.compact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.85rem}.compact-form--record{grid-template-columns:minmax(7rem,.8fr) minmax(10rem,1fr) minmax(5rem,.45fr) minmax(10rem,1fr)}.compact-form--document-filter{grid-template-columns:minmax(12rem,1fr) minmax(10rem,1fr) auto}.compact-form--document{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-form input,.compact-form select{min-height:2.35rem;padding:.5rem .65rem;border:1px solid #ddd6cc;border-radius:8px;background:#f4f1eb;color:#1d252c}.compact-form textarea{min-height:5rem;grid-column:1 / -1;padding:.5rem .65rem;border:1px solid #ddd6cc;border-radius:8px;resize:vertical;background:#f4f1eb;color:#1d252c}.compact-form button{min-height:2.35rem;padding:.5rem .7rem;border:1px solid #2f7256;border-radius:8px;background:#2f7256;color:#fff;cursor:pointer;font-weight:700}.compact-form button:disabled{cursor:not-allowed;opacity:.5}.file-field{display:grid;gap:.35rem;min-width:0;color:#66727c;font-size:.82rem;font-weight:700}.file-field input{width:100%;min-width:0}.document-detail{display:grid;gap:.9rem}.document-detail h5{margin:0;color:#66727c;font-size:.85rem;text-transform:uppercase}.file-chip{display:inline-flex;min-height:2rem;align-items:center;padding:.35rem .55rem;border:1px solid #bdd7cc;border-radius:8px;background:#e4f2ed;color:#216956;font-weight:700;text-decoration:none}.empty-note{margin:0;color:#66727c}.table-wrap{width:100%;overflow-x:auto}.compact-table{width:100%;border-collapse:collapse}.compact-table th,.compact-table td{padding:.65rem .6rem;border-top:1px solid #ddd6cc;text-align:left;vertical-align:top}.compact-table th{color:#66727c;font-size:.78rem;text-transform:uppercase}.compact-table tbody tr{cursor:pointer}.compact-table tbody tr:hover,.selected-row{background:#e4f2ed}.module-card{display:grid;gap:.9rem;padding:1rem;border:1px solid #ddd6cc;border-radius:8px;background:#fffaf4}.module-card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.module-card__header span{padding:.25rem .5rem;border-radius:8px;background:#e8edf8;color:#315c9b;font-size:.8rem;font-weight:700}.module-card button{justify-self:start;min-height:2.25rem;padding:.45rem .7rem;border:1px solid #ddd6cc;border-radius:8px;background:#eee7db;color:#66727c}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #ddd6cc}.module-grid,.content-grid,.classifier-layout,.project-layout,.document-layout,.compact-form,.compact-form--document-filter,.compact-form--record{grid-template-columns:1fr}.document-layout .detail-panel:last-child{grid-column:auto}}
