*,*:before,*:after{box-sizing:border-box}body{margin:0}:root{--color-teal: #1B8879;--color-green: #6BBF7F;--color-sky-blue: #5CA3D4;--color-charcoal: #414142;--color-light-grey: #B1B2B1;--color-red: #D32F2F;--color-amber: #F4B400;--color-white: #FFFFFF;--color-page-bg: #F2F2F2;--color-teal-tint: #D5E8F0;--color-divider: #E5E5E5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-8: 48px;--space-10: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-round: 999px;--shadow-card: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-card-hover: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-modal: 0 10px 40px rgba(0,0,0,.15);--shadow-dropdown: 0 4px 12px rgba(0,0,0,.1);--font-heading: "Roboto", Helvetica, sans-serif;--font-body: "Open Sans", Arial, sans-serif;--font-signature: "Caveat", cursive}.top-nav{position:fixed;top:0;left:0;right:0;height:64px;background:var(--color-charcoal);display:flex;align-items:center;padding:0 var(--space-5);z-index:100}.top-nav__logo{display:flex;align-items:center;gap:var(--space-3);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:18px;text-decoration:none}.top-nav__logo-mark{width:36px;height:36px;border-radius:var(--radius-md);object-fit:contain;display:block;flex-shrink:0}.top-nav__items{display:flex;gap:var(--space-5);margin-left:auto;align-items:center}.top-nav__item{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fffc;padding:22px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;cursor:pointer;text-decoration:none}.top-nav__item:hover{color:#fff}.top-nav__item--active{color:#fff;border-bottom-color:var(--color-teal)}.top-nav__user{display:flex;align-items:center;gap:var(--space-2);margin-left:var(--space-6);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:background .15s;text-decoration:none}.top-nav__user:hover{background:#ffffff1f}.top-nav__user--active{background:#ffffff1a;outline:1px solid rgba(255,255,255,.2)}.top-nav__user i{color:#ffffff80;font-size:14px;transition:color .15s}.top-nav__user:hover i{color:#fff}.top-nav__avatar{width:32px;height:32px;border-radius:var(--radius-round);background:var(--color-teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.top-nav__user-name{color:#fff;font-size:13px}.page-shell{min-height:100vh;background:var(--color-page-bg);font-family:var(--font-body);font-size:14px;color:var(--color-charcoal)}.page-body{max-width:1280px;margin:0 auto;padding:calc(64px + var(--space-8)) var(--space-5) var(--space-10);display:flex;flex-direction:column;gap:var(--space-6)}.page-header{display:flex;justify-content:space-between;align-items:center}.page-header h1{font-family:var(--font-heading);font-weight:700;font-size:28px;color:var(--color-charcoal);line-height:1.2;margin:0}.page-header__left{display:flex;align-items:center;gap:var(--space-3)}.steps{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:13px}.steps__sep{color:var(--color-light-grey);font-size:12px}.step{display:flex;align-items:center;gap:var(--space-2);color:var(--color-light-grey)}.step__num{width:22px;height:22px;border-radius:var(--radius-round);border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.step--active{color:var(--color-teal);font-weight:600}.step--done{color:var(--color-teal)}.step--done .step__num{background:var(--color-teal);border-color:var(--color-teal);color:#fff}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.card__header{padding:var(--space-5);border-bottom:1px solid var(--color-divider)}.card__title{font-family:var(--font-heading);font-weight:700;font-size:20px;color:var(--color-charcoal);margin:0 0 var(--space-1)}.card__sub{font-size:13px;color:var(--color-light-grey);margin:0}.card__toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.card__body{padding:var(--space-5)}.btn{font-family:var(--font-body);font-size:14px;font-weight:600;border:none;border-radius:var(--radius-md);padding:0 var(--space-4);height:40px;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);white-space:nowrap}.btn--primary{background:var(--color-sky-blue);color:#fff}.btn--primary:hover:not(:disabled){filter:brightness(.92)}.btn--teal{background:var(--color-teal);color:#fff}.btn--teal:hover:not(:disabled){filter:brightness(.92)}.btn--ghost{background:transparent;color:var(--color-charcoal);border:1px solid var(--color-light-grey)}.btn--ghost:hover:not(:disabled){background:var(--color-page-bg)}.btn--danger{background:transparent;color:var(--color-red);border:1px solid var(--color-red)}.btn--danger:hover:not(:disabled){background:#d32f2f0f}.btn--sm{height:32px;font-size:12px;padding:0 var(--space-3)}.btn--full{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.btn i{font-size:16px}.form{padding:var(--space-5)}.form__section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-light-grey);margin-bottom:var(--space-3)}.form__row{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5)}.form__col--fill{flex:1;min-width:200px}.form__divider{border:none;border-top:1px solid var(--color-divider);margin:var(--space-5) 0}.form__actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--color-divider);margin-top:var(--space-2)}.field{display:flex;flex-direction:column;min-width:160px;flex:1}.field__label{font-size:13px;font-weight:600;color:var(--color-charcoal);margin-bottom:var(--space-1)}.field__label-row{display:flex;justify-content:space-between;align-items:baseline}.field__link{font-size:12px;color:var(--color-sky-blue);text-decoration:none}.field__link:hover{text-decoration:underline}.field__input{height:38px;padding:0 var(--space-3);border:1px solid var(--color-light-grey);border-radius:var(--radius-md);font-family:var(--font-body);font-size:14px;color:var(--color-charcoal);background:#fff;outline:none;width:100%;transition:border-color .15s}.field__input:focus{border-color:var(--color-teal);box-shadow:0 0 0 2px #1b88791f}.field__input--error{border-color:var(--color-red)}.field__input::placeholder{color:var(--color-light-grey)}.field textarea.field__input{height:auto;padding:var(--space-2) var(--space-3);resize:vertical}.field select.field__input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23B1B2B1' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-6)}.field__prefix-wrap{position:relative}.field__prefix{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-light-grey);font-size:14px;pointer-events:none}.field__input--prefixed{padding-left:var(--space-5)}.field__error{font-size:12px;color:var(--color-red);margin-top:3px}.field__hint{font-size:12px;color:var(--color-light-grey);margin-top:3px}.req{color:var(--color-red)}.table{width:100%;border-collapse:collapse}.table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-charcoal);text-align:left;padding:var(--space-3) var(--space-4);background:var(--color-page-bg);border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}.table td{padding:var(--space-3) var(--space-4);font-size:14px;color:var(--color-charcoal);border-bottom:1px solid var(--color-divider);vertical-align:middle}.table tbody tr:hover td{background:var(--color-page-bg)}.table tbody tr:last-child td{border-bottom:none}.table__link{color:var(--color-sky-blue);cursor:pointer}.table__link:hover{text-decoration:underline}.table__actions{width:120px;text-align:right;white-space:nowrap}.table__action-btn{background:transparent;border:none;cursor:pointer;width:32px;height:32px;border-radius:var(--radius-md);color:var(--color-light-grey);display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:all .15s;margin-left:var(--space-1)}.table__action-btn:hover{background:#fff;color:var(--color-charcoal)}.table__action-btn i{font-size:16px}.table tbody tr:hover .table__action-btn{opacity:1}.badge{display:inline-flex;align-items:center;padding:3px var(--space-2);border-radius:var(--radius-round);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.badge--draft{background:#b1b2b14d;color:var(--color-charcoal)}.badge--comparables,.badge--determination{background:#1b887926;color:var(--color-teal)}.badge--awaiting-sign{background:#f4b4002e;color:#b17f00}.badge--reasonable{background:#6bbf7f38;color:#3a8b4d}.badge--borderline{background:#f4b4002e;color:#b17f00}.badge--not-reasonable{background:#d32f2f26;color:var(--color-red)}.badge--active{background:#1b887926;color:var(--color-teal)}.badge--inactive{background:#b1b2b14d;color:var(--color-charcoal)}.badge--admin{background:#5ca3d42e;color:#2a6fa8}.badge--specialist{background:#1b88791f;color:var(--color-teal)}.count-badge{background:var(--color-teal);color:#fff;font-size:12px;font-weight:700;padding:2px var(--space-2);border-radius:var(--radius-round);line-height:1.6}.search{height:36px;display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--color-light-grey);border-radius:var(--radius-md);background:#fff;min-width:240px;transition:border-color .15s}.search:focus-within{border-color:var(--color-teal);box-shadow:inset 0 0 0 1px var(--color-teal)}.search i{color:var(--color-light-grey)}.search input{border:none;outline:none;font-family:var(--font-body);font-size:13px;flex:1;background:transparent;color:var(--color-charcoal)}.search input::placeholder{color:var(--color-light-grey)}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--space-5)}.modal{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--color-divider)}.modal__title{font-family:var(--font-heading);font-weight:700;font-size:18px;color:var(--color-charcoal);margin:0}.modal__close{background:none;border:none;cursor:pointer;color:var(--color-light-grey);font-size:20px;padding:var(--space-1);border-radius:var(--radius-sm)}.modal__close:hover{color:var(--color-charcoal)}.modal__body{padding:var(--space-5)}.modal__footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-divider);display:flex;justify-content:flex-end;gap:var(--space-3)}.alert{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:14px}.alert--error{background:#d32f2f14;color:var(--color-red)}.alert--success{background:#6bbf7f26;color:#3a8b4d}.alert--warn{background:#f4b4001f;color:#b17f00}.alert--info{background:#5ca3d41f;color:#2a6fa8}.alert i{font-size:18px;flex-shrink:0}.tabs{display:flex;border-bottom:2px solid var(--color-divider);padding:0 var(--space-5)}.tab{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--color-light-grey);padding:var(--space-3) var(--space-4);border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;background:none;border-top:none;border-left:none;border-right:none;transition:color .15s}.tab:hover{color:var(--color-charcoal)}.tab--active{color:var(--color-teal);border-bottom-color:var(--color-teal)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .7s linear infinite;display:inline-block}@media(max-width:768px){.top-nav__items{gap:var(--space-3)}.top-nav__user-name{display:none}.form__row{flex-direction:column}}.pdf-mock{padding:var(--space-5);background:var(--color-page-bg)}.pdf-mock__page{background:#fff;border-radius:var(--radius-md);box-shadow:0 2px 8px #00000014;padding:var(--space-6);font-family:var(--font-body);font-size:12px}.pdf-mock__page hr{border:none;border-top:1px solid var(--color-divider);margin:var(--space-3) 0}.pdf-header{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.pdf-header__text{flex:1}.pdf-logo{width:36px;height:36px;flex-shrink:0;background:var(--color-teal);color:#fff;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px}.pdf-agency{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-light-grey);margin-bottom:2px}.pdf-title{font-family:var(--font-heading);font-weight:700;font-size:14px;color:var(--color-charcoal)}.pdf-sub{font-size:10px;color:var(--color-light-grey);margin-top:2px}.pdf-cert-num{margin-left:auto;text-align:right;flex-shrink:0}.pdf-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-light-grey);margin-bottom:2px}.pdf-value{font-weight:600;font-size:12px;color:var(--color-charcoal)}.pdf-info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-3)}.pdf-section{margin-bottom:var(--space-4)}.pdf-section-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--color-teal);margin-bottom:var(--space-2);padding-bottom:4px;border-bottom:2px solid var(--color-teal)}.pdf-table{width:100%;border-collapse:collapse;font-size:11px}.pdf-table__key{width:42%;padding:3px 0;color:var(--color-light-grey);vertical-align:top}.pdf-table__val{padding:3px 0;color:var(--color-charcoal);font-weight:500}.pdf-table__key--total,.pdf-table__val--total{font-weight:700;color:var(--color-charcoal);border-top:1px solid var(--color-divider);padding-top:5px}.pdf-comp-table-wrap{overflow-x:auto}.pdf-comp-table{width:100%;border-collapse:collapse;font-size:10px}.pdf-comp-table th{background:var(--color-page-bg);padding:5px 6px;text-align:left;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--color-light-grey);border-bottom:2px solid var(--color-divider);white-space:nowrap}.pdf-comp-table td{padding:4px 6px;border-bottom:1px solid var(--color-divider);vertical-align:top;color:var(--color-charcoal);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-comp-table tr:last-child td{border-bottom:none}.pdf-comp-table__factor-head{color:var(--color-charcoal)!important}.pdf-comp-table__subject-head{color:var(--color-charcoal)!important;background:#1b88790f!important}.pdf-comp-table__factor{font-size:9px!important;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--color-light-grey)!important;white-space:nowrap}.pdf-comp-table__subject{background:#1b88790a;font-weight:600}.pdf-comp-table__rent{font-weight:700;color:var(--color-charcoal)}.pdf-analysis-grid{margin-bottom:var(--space-3)}.pdf-analysis-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px dotted var(--color-divider);font-size:11px}.pdf-analysis-row__label{color:var(--color-light-grey)}.pdf-analysis-row__val{font-weight:600;color:var(--color-charcoal)}.pdf-determination{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:#1b887914;border-left:3px solid var(--color-teal);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:12px;color:var(--color-charcoal)}.pdf-determination i{color:var(--color-teal);font-size:14px}.pdf-determination--not-reasonable{background:#dc354514;border-color:var(--color-red)}.pdf-determination--not-reasonable i{color:var(--color-red)}.pdf-determination--borderline{background:#ffc10714;border-color:#d4a017}.pdf-determination--borderline i{color:#d4a017}.pdf-cert-text{font-size:10px;line-height:1.7;color:var(--color-charcoal);background:var(--color-page-bg);padding:var(--space-3);margin:0;border-radius:var(--radius-sm);border:1px solid var(--color-divider)}.pdf-sig-block{margin-top:var(--space-5)}.pdf-sig-row{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-5);margin-bottom:var(--space-4)}.pdf-sig-cell{min-width:0}.pdf-sig-value{font-size:11px;min-height:26px;color:var(--color-charcoal);padding-bottom:4px;line-height:1.4}.pdf-sig-value--script{font-family:var(--font-signature);font-size:22px;line-height:1.2}.pdf-sig-line{height:1px;background:var(--color-charcoal);margin-bottom:3px}.pdf-sig-label{font-size:9px;color:var(--color-light-grey);text-transform:uppercase;letter-spacing:.3px}@media print{body>*{display:none!important}app-root,app-root>app-certification,app-root>app-certification .page-shell{display:block!important}app-certification .top-nav,app-certification .steps,app-certification .sign-panel,app-certification .preview-panel__header{display:none!important}app-certification .page-shell{background:#fff!important}app-certification .page-body{padding:0!important;max-width:none!important}app-certification .cert-layout{display:block!important}app-certification .preview-panel{box-shadow:none!important;border-radius:0!important}app-certification .pdf-mock{padding:0!important;background:#fff!important}app-root>app-review-detail,app-root>app-review-detail .page-shell{display:block!important}app-review-detail .top-nav,app-review-detail .page-body{display:none!important}app-review-detail .page-shell{background:#fff!important}app-review-detail .print-cert{display:block!important;padding:24px!important}app-root>app-audit-log,app-root>app-audit-log .page-shell{display:block!important}app-audit-log .top-nav,app-audit-log .page-header__actions,app-audit-log .log-toolbar{display:none!important}app-audit-log .page-shell{background:#fff!important}app-audit-log .page-body{padding:24px!important;max-width:none!important}app-audit-log .card{box-shadow:none!important;border-radius:0!important;border:1px solid #e5e5e5!important}.pdf-mock__page{box-shadow:none!important;border-radius:0!important;padding:20px!important;font-size:11px!important}@page{size:letter portrait;margin:.25in}app-certification .pdf-mock__page,app-review-detail .print-cert .pdf-mock__page{zoom:.92!important}.pdf-section{margin-bottom:8px!important}.pdf-sig-block{margin-top:10px!important}.pdf-sig-row{margin-bottom:8px!important}.pdf-analysis-grid{margin-bottom:5px!important}.pdf-section-title{margin-bottom:3px!important;padding-bottom:2px!important}.pdf-table tr td{padding-top:2px!important;padding-bottom:2px!important}.pdf-comp-table td,.pdf-comp-table th{padding-top:3px!important;padding-bottom:3px!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}
