:root{font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.5;font-weight:400;color:#0f172a;background-color:#f1f5f9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:inherit}a{color:inherit}button{font-family:inherit}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:#f5f7fb;color:#1f2937}.sidebar{display:flex;flex-direction:column;gap:2rem;padding:2rem 1.5rem;background:linear-gradient(180deg,#1e3a8a,#1d4ed8);color:#fff}.sidebar__header{display:flex;flex-direction:column;gap:.25rem}.sidebar__brand{font-size:1.4rem;font-weight:700}.sidebar__subtitle{margin:0;font-size:.9rem;opacity:.8}.sidebar__nav{display:flex;flex-direction:column;gap:.5rem}.nav-button{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:transparent;border:none;border-radius:.75rem;color:inherit;font-size:.95rem;cursor:pointer;transition:background .2s ease,transform .2s ease}.nav-button:hover{background:#ffffff26;transform:translate(4px)}.nav-button--active{background:#fff3;box-shadow:inset 0 0 0 1px #fff6}.nav-button__icon{font-size:1.2rem;width:1.5rem;display:inline-flex;justify-content:center}.sidebar__footer{margin-top:auto;font-size:.75rem;opacity:.8}.sidebar__hint{margin:.2rem 0;line-height:1.4;word-break:break-word}.main{display:flex;flex-direction:column;padding:1.5rem 1.75rem;gap:1.5rem}.main__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.main__header h1{margin:0 0 .35rem;font-size:1.5rem}.main__header p{margin:0;color:#4b5563;max-width:520px}.main__actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.primary-button,.secondary-button,.tertiary-button{border-radius:.75rem;border:none;cursor:pointer;font-weight:600;font-size:.95rem;padding:.65rem 1.2rem;transition:transform .1s ease,box-shadow .1s ease}.primary-button:disabled,.secondary-button:disabled,.tertiary-button:disabled{cursor:not-allowed;opacity:.6}.primary-button{background:#1d4ed8;color:#fff;box-shadow:0 8px 15px #1d4ed833}.primary-button:hover:not(:disabled){background:#1e40af;transform:translateY(-1px)}.secondary-button{background:#e0e7ff;color:#1e3a8a}.secondary-button:hover:not(:disabled){background:#c7d2fe;transform:translateY(-1px)}.tertiary-button{background:transparent;color:#1e3a8a;padding:.5rem .8rem}.tertiary-button:hover:not(:disabled){color:#1d4ed8;text-decoration:underline}.main__content{background:#fff;border-radius:1.25rem;padding:1.25rem 1.5rem;box-shadow:0 15px 35px #0f172a14;min-height:520px;display:flex;flex-direction:column;gap:1rem}.auth-panel{display:flex;justify-content:flex-end}.auth-panel__form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.auth-panel__form input{padding:.6rem .8rem;border-radius:.7rem;border:1px solid #d1d5db;font-size:.95rem}.auth-panel__logged{display:flex;align-items:center;gap:.75rem}.auth-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.4rem;align-items:center}.auth-inline input{padding:.55rem .7rem;border-radius:.7rem;border:1px solid #d1d5db;font-size:.9rem}.auth-panel__email{margin:0;color:#374151}.chat-view{display:flex;flex-direction:column;gap:1rem;height:100%}.chat-history{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-right:.5rem}.chat-message{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border-radius:1rem;max-width:80%;background:#eff6ff;align-self:flex-start}.chat-message--user{background:#1d4ed8;color:#fff;align-self:flex-end}.chat-message__role{font-size:.75rem;font-weight:600;opacity:.8;text-transform:uppercase}.chat-message--user .chat-message__role{opacity:.9}.chat-message__text{margin:0;line-height:1.6;white-space:pre-wrap}.chat-composer{display:flex;gap:1rem;align-items:flex-end}.chat-composer textarea{flex:1;border-radius:1rem;border:1px solid #d1d5db;padding:.85rem 1rem;font-size:1rem;resize:vertical;min-height:110px;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.chat-composer textarea:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 3px #3b82f633}.chat-composer button{align-self:stretch}.error-banner{margin:0;background:#fee2e2;color:#991b1b;padding:.8rem 1rem;border-radius:.75rem;font-size:.9rem}.success-banner{margin:0;background:#dcfce7;color:#166534;padding:.8rem 1rem;border-radius:.75rem;font-size:.9rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}.card-item{background:linear-gradient(160deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:1rem;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 10px 20px #94a3b81f}.card-item h3{margin:0;font-size:1.1rem}.card-item p{margin:0;color:#4b5563;line-height:1.5}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#dbeafe;color:#1d4ed8}.badge--ghost{background:#f3f4f6;color:#374151}.badge--completed{background:#dcfce7;color:#166534}.badge--in-progress{background:#fde68a;color:#92400e}.badge--to-verify{background:#fee2e2;color:#991b1b}.timeline{display:flex;flex-direction:column;gap:1rem;position:relative;padding-left:1.75rem}.timeline:before{content:"";position:absolute;left:.65rem;top:.2rem;bottom:.2rem;width:2px;background:linear-gradient(180deg,#c7d2fe,#93c5fd)}.timeline-item{display:flex;gap:1rem;align-items:flex-start;padding:1rem;border-radius:1rem;background:#fffc;border:1px solid #e2e8f0;box-shadow:0 10px 18px #94a3b81f}.timeline-item__icon{font-size:.75rem;line-height:1;color:#1d4ed8;transform:translate(-2px)}.timeline-item__meta{margin:.25rem 0;font-size:.85rem;color:#6b7280}.table{display:flex;flex-direction:column;gap:.75rem}.table__header,.table__row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;align-items:center}.table__header{text-transform:uppercase;font-size:.75rem;letter-spacing:.06em;color:#6b7280;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.table__row{background:#f8fafc;border-radius:.9rem;padding:.9rem 1rem;border:1px solid #e2e8f0}.table__actions{display:flex;gap:.5rem}.notifications{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.notification-card{padding:1.1rem;border-radius:1rem;background:#f8fafc;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 10px 16px #94a3b81f}.notification-card span{font-size:.8rem;color:#6b7280}.notification--high{background:#fee2e2;border-color:#fecaca}.notification--medium{background:#fef3c7;border-color:#fde68a}.notification--low{background:#dcfce7;border-color:#bbf7d0}.user-chip,.building-chip{display:flex;align-items:center;gap:.6rem;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:.35rem .75rem}.user-chip__info,.building-chip__info{display:flex;flex-direction:column;line-height:1.2}.user-chip__info button{padding:0}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#1d4ed8,#3b82f6);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden;border:2px solid #fff;box-shadow:0 4px 10px #3b82f633}.avatar img{width:100%;height:100%;object-fit:cover}.avatar--building{background:linear-gradient(135deg,#0ea5e9,#06b6d4)}.admin-layout{display:grid;grid-template-columns:1.2fr 1.5fr;gap:1.25rem}.admin-page{display:flex;flex-direction:column;gap:.75rem}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.admin-forms,.admin-tables{display:grid;grid-template-columns:1fr;gap:1rem}.card-item__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.admin-table{display:flex;flex-direction:column;gap:.5rem;min-width:720px}.admin-table__header,.admin-table__row{display:grid;grid-template-columns:1.1fr 1.1fr 2fr .7fr;gap:.75rem;align-items:center}.admin-table__header{text-transform:uppercase;font-size:.75rem;letter-spacing:.06em;color:#6b7280;border-bottom:1px solid #e5e7eb;padding-bottom:.35rem}.admin-table__row{background:#f8fafc;border-radius:.9rem;padding:.8rem .9rem;border:1px solid #e2e8f0}.admin-table__cell--strong{font-weight:600}.admin-table__actions{display:flex;gap:.35rem}.admin-table__settings{font-size:.85rem;color:#374151;white-space:normal;overflow-wrap:anywhere;display:block}.admin-table-wrapper{overflow-x:auto}.admin-table--tasks{min-width:900px;grid-template-columns:1fr 1fr 2fr 1fr 1fr}.admin-tabs{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:.5rem}.admin-tabs-bar{display:flex;justify-content:flex-start;width:100%}.admin-tab{border-radius:12px;padding:.35rem .75rem;border:1px solid #d1d5db;background:#f3f4f6;color:#1f2937}.admin-tab--active{background:#1d4ed8;color:#fff;border-color:#1d4ed8;box-shadow:0 6px 14px #1d4ed840}.form{display:flex;flex-direction:column;gap:.6rem}.form input,.form textarea,.form select{padding:.65rem .8rem;border-radius:.75rem;border:1px solid #d1d5db;font-size:.95rem;font-family:inherit}.form textarea{resize:vertical}.placeholder{color:#6b7280;background:#f9fafb;border:1px dashed #d1d5db;border-radius:.75rem;padding:.85rem;margin-top:.5rem;text-align:center}.login-shell{display:flex;justify-content:center;align-items:center;min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(99,102,241,.35),transparent 35%),radial-gradient(circle at 80% 0%,rgba(14,165,233,.3),transparent 30%),linear-gradient(180deg,#0b1533,#0f172a);padding:2.5rem}.login-card{background:#fff;border-radius:1.25rem;max-width:960px;width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));box-shadow:0 20px 40px #0f172a40;overflow:hidden}.login-hero{padding:2rem;background:linear-gradient(160deg,#1d4ed8,#0ea5e9);color:#fff;display:flex;flex-direction:column;gap:.5rem;justify-content:center}.login-hero .sidebar__brand{font-size:1.6rem}.login-hero p{margin:0;line-height:1.6}.login-form{padding:2rem;display:flex;flex-direction:column;gap:.75rem;background:#f8fafc}.login-form h2{margin:0}.login-form__header{display:flex;flex-direction:column;gap:.2rem}.login-form input{padding:.65rem .8rem;border-radius:.75rem;border:1px solid #d1d5db;font-size:.95rem;background:#fff}.login-form .primary-button,.login-form .secondary-button{width:100%;justify-content:center}.login-form .tertiary-button{justify-content:flex-start;padding-left:0}.login-hint{margin:0;color:#4b5563}.login-tagline{font-size:1.1rem;margin:0}.login-subtagline{margin:0;opacity:.9;line-height:1.5}.refresh-button{display:inline-flex;align-items:center;gap:.35rem;background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff;box-shadow:0 10px 20px #0ea5e940;border:none;padding:.55rem .75rem;border-radius:999px;font-weight:700}@media(max-width:720px){.refresh-button{display:none}}@media(max-width:1100px){.app-shell{grid-template-columns:220px 1fr}.main__header{flex-direction:column;align-items:flex-start}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:1rem}.sidebar__nav{flex-direction:row;flex-wrap:wrap}.nav-button{flex:1 1 auto;justify-content:center}.main{padding:1rem}.main__header{gap:.6rem}.main__header p{display:none}.main__actions{width:100%;gap:.5rem}.building-chip,.user-chip{width:100%}.admin-layout,.admin-columns{grid-template-columns:1fr}.admin-tabs{flex-wrap:wrap}}@media(max-width:640px){.sidebar__nav{gap:.4rem}.nav-button{padding:.5rem .65rem;min-width:120px}.main__actions{flex-direction:column;align-items:flex-start}.admin-table__header,.admin-table__row{grid-template-columns:1fr 1fr;row-gap:.35rem}}
