:root{--accent:#6d5ce7;--bg:#f5f4fb;--ink:#171426;--muted:#726e83;--line:#e6e2f0;--card:#fff;--nav:#161326;--danger:#c33d57;--ok:#19885d;--shadow:0 18px 50px rgba(36,25,76,.08)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}body{margin:0;min-height:100vh;background:var(--bg);font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.sidebar{position:fixed;left:0;top:0;bottom:0;width:248px;padding:26px 18px;background:linear-gradient(180deg,#18142b,#211a39);color:#fff;display:flex;flex-direction:column;z-index:20}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:34px}.sidebar nav a{padding:11px 12px;border-radius:12px;color:#cfc9e3}.sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}.side-user{margin-top:auto;padding:14px 12px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column}.side-user span{font-weight:700}.side-user small{color:#a9a1c5}.app-main{margin-left:248px;min-height:100vh;padding:34px 38px}.remsoft-brand{display:flex;align-items:center;gap:10px}.remsoft-brand-mark{width:40px;height:40px;object-fit:contain}.remsoft-brand-copy{display:flex;flex-direction:column;line-height:1.05}.remsoft-brand-copy b{font-size:17px;letter-spacing:.04em}.remsoft-brand-copy span{font-size:11px;font-weight:800;letter-spacing:.18em;color:#aa9cff;margin-top:3px}.remsoft-brand-copy small{font-size:9px;margin-top:5px;color:#9188ad}.remsoft-brand-sidebar .remsoft-brand-copy b{color:#fff}.remsoft-brand-public .remsoft-brand-copy b,.remsoft-brand-auth .remsoft-brand-copy b{color:#fff}.remsoft-powered{display:flex;align-items:center;gap:8px}.remsoft-powered img{width:29px;height:29px}.remsoft-powered span{display:flex;flex-direction:column}.remsoft-powered b{font-size:12px}.remsoft-powered small{font-size:9px;opacity:.65}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.page-head h1{font-size:34px;line-height:1.1;margin:4px 0 8px;letter-spacing:-.035em}.page-head p{margin:0;color:var(--muted)}.eyebrow{text-transform:uppercase;font-weight:800;letter-spacing:.14em;font-size:10px;color:var(--accent)}.eyebrow.light{color:#c8bcff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;padding:11px 16px;background:var(--accent);color:#fff;font-weight:800;box-shadow:0 8px 22px rgba(109,92,231,.2)}.btn:hover{filter:brightness(.96)}.btn.secondary{background:#eeeafd;color:#4c3cc3;box-shadow:none}.btn.glass{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);box-shadow:none}.btn.small{padding:8px 12px;font-size:13px}.actions{display:flex;gap:9px;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow);margin-bottom:20px}.card h2{margin:0 0 16px;font-size:21px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.card-head h2{margin:0}.card-head p{margin:4px 0 0;color:var(--muted)}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.kpi{background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px;box-shadow:var(--shadow)}.kpi span{display:block;color:var(--muted);font-size:13px;margin-bottom:7px}.kpi b{font-size:25px;letter-spacing:-.03em}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0}.field label{font-size:12px;font-weight:800;color:#5e596e}.span-2{grid-column:span 2}.input,select,textarea{width:100%;min-width:0;border:1px solid #dcd7e9;border-radius:12px;background:#fff;padding:11px 12px;color:var(--ink);outline:none;transition:.15s}textarea{min-height:100px;resize:vertical}.input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(109,92,231,.1)}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.check{display:flex;gap:8px;align-items:center;color:#5b566a}.alert,.success{padding:13px 15px;border-radius:13px;margin-bottom:18px;font-weight:650}.alert{background:#fff0f3;color:#a62943;border:1px solid #ffd0d9}.success{background:#eaf9f2;color:#14744e;border:1px solid #c8eddc}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#efecfb;color:#5a4bc7;font-size:11px;font-weight:800;white-space:nowrap}.badge.ok{background:#e8f8f0;color:#18734f}.badge.danger{background:#fff0f3;color:#b22d48}.muted{color:var(--muted)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:680px}.table th,.table td{text-align:left;padding:13px 11px;border-bottom:1px solid #eeeaf4;vertical-align:middle}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#817b91}.table td small{display:block;color:var(--muted);margin-top:3px}.table-progress{height:5px;width:90px;background:#ece9f4;border-radius:99px;overflow:hidden;display:inline-block;margin-right:8px}.table-progress i,.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#a896ff);border-radius:inherit}.progress{height:8px;background:#e9e5f2;border-radius:99px;overflow:hidden}.progress.thin{height:5px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.project-card{display:block;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow);transition:.18s}.project-card:hover{transform:translateY(-2px);border-color:#cfc8ef}.project-card h3{margin:14px 0 3px;font-size:19px}.project-card p{margin:0 0 16px;color:var(--muted)}.project-card-top,.project-card-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.project-card-meta{font-size:12px;color:var(--muted);margin-top:11px}.project-summary{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:14px;margin-bottom:20px}.project-summary>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px}.project-summary span{display:block;color:var(--muted);font-size:12px}.project-summary b{display:block;font-size:19px;margin:4px 0 8px}.editor-section+.editor-section{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.editor-list{display:flex;flex-direction:column;gap:10px}.editor-row{display:grid;grid-template-columns:1.45fr .9fr .55fr .9fr .9fr 1.5fr auto;gap:8px;align-items:center;padding:10px;background:#faf9fd;border:1px solid #ebe7f2;border-radius:14px}.editor-row.payment-row{grid-template-columns:1.4fr .8fr .9fr .9fr .9fr 1.4fr auto}.editor-row input,.editor-row select{width:100%;min-width:0;border:1px solid #ddd8e8;background:#fff;border-radius:9px;padding:9px}.row-tools{display:flex;gap:4px}.row-tools button{border:0;background:#ebe7f8;color:#5748bd;border-radius:8px;width:30px;height:30px;font-weight:800}.row-tools button:last-child{background:#fff0f3;color:#b52d49}.sticky-save{position:sticky;bottom:14px;margin:22px -8px -8px;padding:12px 14px;background:rgba(25,20,43,.94);backdrop-filter:blur(14px);border-radius:14px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:8}.feed{display:flex;flex-direction:column}.feed-item{padding:14px 0;border-bottom:1px solid var(--line)}.feed-item:first-child{padding-top:0}.feed-item div{display:flex;justify-content:space-between;gap:10px}.feed-item span{font-size:11px;color:var(--muted)}.feed-item p{margin:7px 0 0}.photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.photo-grid figure,.portal-gallery figure{margin:0;background:#f7f5fc;border-radius:14px;overflow:hidden;border:1px solid var(--line)}.photo-grid img,.portal-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.photo-grid figcaption,.portal-gallery figcaption{padding:8px 10px;font-size:12px;color:var(--muted)}.docs-list{display:flex;flex-direction:column;gap:8px}.doc-row{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;background:#f8f7fc;border-radius:12px}.doc-row span{display:flex;flex-direction:column}.doc-row small{color:var(--muted)}.empty{padding:22px;color:var(--muted);text-align:center;background:#faf9fd;border:1px dashed #ddd7ec;border-radius:14px}.tariff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.tariff-card{margin:0}.billing-hero{background:linear-gradient(135deg,#241b49,#44328b);color:#fff;border-radius:22px;padding:24px;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.billing-hero span{opacity:.7}.billing-hero h2{font-size:31px;margin:4px 0}.billing-hero p{margin:0;opacity:.75}.billing-hero strong{font-size:29px}.billing-hero strong small{display:block;font-size:12px;text-align:right;opacity:.7}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.feature-line{padding:10px;border-radius:10px;background:#f7f6fb}.feature-line.on{color:#177752}.feature-line.off{color:#918b9d}.secret-box{padding:13px;background:#f5f2ff;border-radius:12px;margin:14px 0;display:flex;flex-direction:column}.secret-box span{font-size:11px;color:var(--muted)}.secret-box code{font-size:16px;word-break:break-all}.narrow-card{max-width:700px}.color-input{height:46px;padding:4px}.public-shell{min-height:100vh;background:radial-gradient(circle at 85% 0,#6f5ce8 0,transparent 33%),linear-gradient(135deg,#171128 0,#251846 53%,#3a2464 100%);color:#fff;padding:28px}.public-wrap{max-width:1180px;margin:auto}.public-top,.portal-top,.legal-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.landing-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;min-height:72vh}.hero-title{font-size:57px;line-height:1.02;letter-spacing:-.045em;margin:10px 0 20px;max-width:760px}.hero-copy{font-size:19px;color:#d5cfea;max-width:670px}.hero-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.hero-pills span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.09);font-size:12px}.public-card{background:#fff;color:var(--ink);border-radius:24px;padding:25px;box-shadow:0 35px 80px rgba(5,0,30,.25)}.public-card h2{font-size:26px}.progress-row{display:flex;justify-content:space-between;margin:20px 0 7px}.mini-result{display:grid;gap:11px;margin-top:20px}.mini-result div{padding:12px 0;border-bottom:1px solid var(--line)}.mini-result span{display:block;color:var(--muted);font-size:11px}.landing-signature{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;color:#c2bbda}.auth-shell{min-height:100vh;background:radial-gradient(circle at 80% 0,#6f5ce8,transparent 30%),linear-gradient(135deg,#171128,#2d1b52);display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);background:#fff;border-radius:23px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.auth-card.wide{width:min(650px,100%)}.auth-card .remsoft-brand{background:#201739;padding:10px;border-radius:13px;margin-bottom:20px;width:max-content}.auth-card h1{font-size:29px;line-height:1.1}.wrap-code{word-break:break-all}.legal-shell{min-height:100vh;background:#1d1534;padding:28px}.legal-wrap{max-width:940px;margin:auto}.legal-card{background:#fff;margin-top:28px;border-radius:23px;padding:34px}.legal-card h1{font-size:38px}.legal-card h2{margin-top:30px}.legal-lead{font-size:18px;color:var(--muted)}.legal-meta{display:flex;gap:15px;flex-wrap:wrap;padding:12px 0;border-block:1px solid var(--line);font-size:12px;color:var(--muted)}.legal-warning{background:#f7f4ff;border-radius:13px;padding:14px;margin-top:30px}.site-legal-footer{font-size:11px;color:#8e899a}.legal-footer-inner{max-width:1180px;margin:42px auto 0;padding:22px 0;border-top:1px solid var(--line)}.legal-footer-inner>div{display:flex;flex-direction:column}.legal-footer-inner nav{display:flex;gap:15px;flex-wrap:wrap;margin:9px 0}.public-legal-footer{background:#171128;color:#aaa0c3;padding:0 28px}.public-legal-footer .legal-footer-inner{border-color:rgba(255,255,255,.12)}.client-portal{min-height:100vh;background:#f4f2f9}.portal-top{padding:22px max(24px,calc((100vw - 1180px)/2));background:#1b1530;color:#fff}.client-brand{display:flex;align-items:center;gap:11px}.client-logo{width:44px;height:44px;object-fit:contain;border-radius:10px;background:#fff}.client-logo-placeholder{width:44px;height:44px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900}.client-brand>div{display:flex;flex-direction:column}.client-brand span{font-size:11px;opacity:.65}.portal-hero{padding:52px max(24px,calc((100vw - 1180px)/2));background:linear-gradient(135deg,#24183e,#49328a);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}.portal-hero h1{font-size:44px;line-height:1.05;margin:8px 0 14px}.portal-hero p{font-size:17px;color:#d8d1e8}.portal-address{font-size:13px;color:#bdb5d3}.portal-progress-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:22px}.portal-progress-card>span,.portal-progress-card small{display:block;color:#cfc8e4}.portal-progress-card strong{display:block;font-size:52px;margin:4px 0 8px}.portal-progress-card .progress{background:rgba(255,255,255,.16);margin-bottom:9px}.portal-main{max-width:1180px;margin:0 auto;padding:26px 24px 60px}.portal-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:-46px;position:relative}.portal-kpis div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:var(--shadow)}.portal-kpis span{display:block;color:var(--muted);font-size:11px}.portal-kpis b{display:block;margin-top:4px;font-size:17px}.portal-section{background:#fff;border:1px solid var(--line);border-radius:21px;padding:25px;margin-top:20px;box-shadow:var(--shadow)}.portal-section h2{font-size:27px;margin:4px 0 20px}.portal-timeline{display:flex;flex-direction:column}.portal-stage{display:grid;grid-template-columns:48px 1fr;gap:13px;padding:13px 0;border-bottom:1px solid var(--line)}.stage-dot{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#efecf8;color:#6557bb;font-weight:900}.portal-stage.done .stage-dot{background:#e6f6ef;color:#15734e}.portal-stage.active .stage-dot{background:var(--accent);color:#fff}.stage-title{display:flex;justify-content:space-between;gap:12px}.stage-title span{font-size:11px;color:var(--muted)}.portal-stage p{margin:8px 0;color:#656072}.portal-stage small{color:#918b9d}.portal-feed{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.portal-update{background:#f8f6fc;border-radius:14px;padding:15px}.portal-update time{font-size:10px;color:var(--muted)}.portal-update h3{margin:5px 0}.portal-update p{margin:0;color:#656072}.portal-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.payment-summary{display:flex;gap:22px;padding:13px 15px;background:#f6f3ff;border-radius:13px;margin-bottom:13px}.portal-payments{display:flex;flex-direction:column}.portal-payment{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.portal-payment div{display:flex;flex-direction:column}.portal-payment span{font-size:11px;color:var(--muted)}.portal-docs{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.portal-doc{display:flex;justify-content:space-between;align-items:center;background:#f8f7fc;border-radius:13px;padding:14px}.portal-doc span{display:flex;flex-direction:column}.portal-doc small{color:var(--muted)}.portal-doc i{font-style:normal;color:var(--accent);font-size:12px}.portal-contact{margin-top:20px;border-radius:21px;padding:26px;background:#21183b;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px}.portal-contact h2{margin:5px 0}.portal-contact p{margin:0;color:#bbb3d0}.contact-links{display:flex;gap:8px;flex-wrap:wrap}.contact-links a{background:rgba(255,255,255,.12);padding:9px 12px;border-radius:10px}.app-legal-footer{margin-top:38px}.app-legal-footer .legal-footer-inner{max-width:none}.public-legal-footer a{color:#d6cfee}hr{border:0;border-top:1px solid var(--line);margin:8px 0}
@media(max-width:1100px){.sidebar{width:210px}.app-main{margin-left:210px;padding:28px 24px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.three-col{grid-template-columns:1fr}.editor-row,.editor-row.payment-row{grid-template-columns:repeat(3,1fr)}.row-tools{grid-column:1/-1}.photo-grid{grid-template-columns:repeat(3,1fr)}.landing-hero{gap:28px}.hero-title{font-size:46px}.portal-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.sidebar{position:relative;width:100%;height:auto;padding:15px}.sidebar nav{margin-top:14px;display:grid;grid-template-columns:repeat(2,1fr)}.side-user{display:none}.app-main{margin-left:0;padding:20px 14px}.page-head{flex-direction:column}.page-head h1{font-size:29px}.two-col,.form-grid,.project-summary,.landing-hero,.portal-hero{grid-template-columns:1fr}.span-2{grid-column:span 1}.project-summary{grid-template-columns:repeat(2,1fr)}.portal-kpis{grid-template-columns:repeat(2,1fr);margin-top:-25px}.portal-feed,.portal-docs{grid-template-columns:1fr}.portal-gallery{grid-template-columns:repeat(2,1fr)}.hero-title{font-size:39px}.landing-hero{min-height:auto;padding:60px 0}.public-top,.portal-top{align-items:flex-start}.landing-signature{flex-direction:column;align-items:flex-start;gap:12px}.tariff-grid{grid-template-columns:1fr}.editor-row,.editor-row.payment-row{grid-template-columns:1fr 1fr}.portal-payment{grid-template-columns:1fr auto}.portal-payment>.badge{grid-column:1/-1;width:max-content}.photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.sidebar nav{grid-template-columns:1fr 1fr;font-size:13px}.kpi-grid,.project-grid,.project-summary,.portal-kpis{grid-template-columns:1fr}.app-main{padding:16px 10px}.card{padding:16px;border-radius:16px}.actions{width:100%}.actions .btn{flex:1}.editor-row,.editor-row.payment-row{grid-template-columns:1fr}.sticky-save{flex-direction:column;align-items:stretch}.sticky-save .btn{width:100%}.photo-grid,.portal-gallery{grid-template-columns:1fr}.public-shell{padding:18px}.hero-title{font-size:34px}.portal-hero{padding:38px 18px}.portal-hero h1{font-size:35px}.portal-main{padding-inline:12px}.portal-section{padding:18px}.portal-contact{flex-direction:column;align-items:flex-start}.portal-top{padding:16px}.portal-top .remsoft-powered{display:none}.legal-card{padding:21px}.legal-card h1{font-size:31px}}
.feature-editor{display:flex;flex-wrap:wrap;gap:8px 14px;padding:12px;background:#f8f6fc;border-radius:12px}.feature-editor .check{margin:0}

/* REM-SOFT Client v1.0 — Final Commercial */
.workflow-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;margin-top:20px}.finance-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.finance-strip>div{padding:14px;border:1px solid var(--line);background:#faf9fd;border-radius:14px}.finance-strip span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.finance-strip b{font-size:17px}.compact-form{margin-top:18px}.compact-form .field small{color:var(--muted);font-size:10px;margin-top:4px}.changes-list,.conversation-list,.reports-list,.decision-log{display:flex;flex-direction:column;gap:11px}.change-card,.portal-change,.conversation-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.change-card.status-pending,.portal-change.status-pending,.change-card.status-question,.portal-change.status-question{border-color:#d6ccff;background:#fbfaff}.change-card.status-approved,.portal-change.status-approved{border-color:#cfe9dd;background:#f8fcfa}.change-card.status-rejected,.portal-change.status-rejected{border-color:#efd6d9;background:#fffafa}.change-card-head,.portal-change-top,.conversation-head,.portal-report-head,.report-row,.notification-item,.decision-log-row>div:first-child{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.change-card h3,.portal-change h3,.conversation-card h3,.portal-report h3{margin:7px 0 0}.change-card>p,.portal-change>p{color:#615b6d}.change-impact{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:11px 13px;border-radius:12px;background:#f4f1fb;margin-top:12px}.change-impact b{font-size:18px}.change-impact span{color:var(--muted);font-size:12px}.change-actions,.decision-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.change-actions form{margin:0}.customer-note{margin-top:12px;padding:12px;background:#f4f1fb;border-radius:12px}.customer-note p{margin:5px 0 0}.legal-hint{font-size:11px;color:var(--muted);padding-top:14px;border-top:1px solid var(--line);margin-top:16px}.decision-log{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.decision-log h3{margin:0 0 8px}.decision-log-row{padding:11px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:10px}.decision-log-row>div{flex-direction:column;gap:2px}.decision-log-row span,.decision-log-row small{font-size:10px;color:var(--muted)}.decision-log-row p{grid-column:1/-1;margin:0;color:#5e5869}.report-row{padding:13px;border:1px solid var(--line);border-radius:13px;align-items:center}.report-row>div{display:flex;flex-direction:column}.report-row span{font-size:11px;color:var(--muted)}.chat-thread{display:flex;flex-direction:column;gap:9px;margin:14px 0}.chat-message{max-width:86%;padding:11px 13px;border-radius:14px;background:#f4f2f8}.chat-message.company{margin-left:auto;background:#efeaff}.chat-message>div{display:flex;justify-content:space-between;gap:12px}.chat-message time{font-size:10px;color:var(--muted)}.chat-message p{margin:6px 0 0}.reply-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.reply-form textarea{min-height:70px}.locked-card{margin-top:20px}.notification-list{padding:10px}.notification-item{padding:14px;border-bottom:1px solid var(--line);align-items:center}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:#faf8ff}.notification-icon{width:38px;height:38px;border-radius:12px;background:#eee9ff;display:grid;place-items:center;font-weight:900}.notification-copy{flex:1}.notification-copy>div{display:flex;justify-content:space-between;gap:10px}.notification-copy p{margin:5px 0;color:#635d6e}.notification-copy time{font-size:10px;color:var(--muted)}.notification-copy a{font-size:12px;color:var(--accent);font-weight:700}.icon-btn{border:0;background:#f1eef7;border-radius:10px;min-width:34px;height:34px;cursor:pointer}.kpi-link{display:block}.project-attention{margin-top:10px;padding:7px 9px;border-radius:10px;background:#f0ebff;color:#5b46b4;font-size:11px;font-weight:800}.portal-alert{margin:0 0 16px}.approval-section{border-color:#ddd4ff}.public-finance{grid-template-columns:repeat(3,1fr)}.decision-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.decision-form textarea{width:100%;min-height:74px}.ghost-danger{background:#fff;border:1px solid #e6c7cb;color:#a33f4c}.portal-reports{display:flex;flex-direction:column;gap:16px}.portal-report{border:1px solid var(--line);border-radius:16px;padding:17px;background:#fbfafc}.portal-report-head span{font-size:11px;color:var(--muted)}.portal-report>p{color:#615b6d}.report-gallery{margin-top:12px}.public-question{max-width:720px;padding:16px;background:#f8f6fc;border-radius:15px;margin-bottom:18px}.public-list{margin-top:14px}.public-conversation{background:#fbfafc}.portal-approve{box-shadow:0 8px 22px rgba(109,92,231,.16)}
@media(max-width:1050px){.workflow-grid{grid-template-columns:1fr}.finance-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.finance-strip,.public-finance{grid-template-columns:1fr}.change-card-head,.portal-change-top,.portal-report-head,.report-row,.notification-item{flex-direction:column;align-items:flex-start}.reply-form{grid-template-columns:1fr}.reply-form .btn{width:100%}.decision-actions{display:grid;grid-template-columns:1fr}.decision-actions .btn{width:100%}.chat-message{max-width:94%}.notification-copy>div{flex-direction:column}.decision-log-row{grid-template-columns:1fr}}

/* REM-SOFT Client v1.0 — final commercial operations */
.sidebar nav{overflow-y:auto;padding-right:3px}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:10px}.system-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.system-strip>a{display:flex;flex-direction:column;gap:3px;background:linear-gradient(145deg,#211a39,#2d2350);color:#fff;border-radius:17px;padding:18px;border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow)}.system-strip span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#bcb2d6}.system-strip b{font-size:18px}.system-strip small{color:#aaa1c4}.quick-extend{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#faf8ff,#fff)}.quick-extend h2{margin-bottom:4px}.quick-extend p{margin:0;color:var(--muted)}.extend-actions{display:flex;gap:8px;flex-wrap:wrap}.extend-actions form{margin:0}.btn.tiny{padding:6px 9px;font-size:11px;border-radius:9px}.btn.danger{background:#b83951;color:#fff;box-shadow:none}.inline-restore{display:flex;align-items:center;gap:6px;min-width:270px}.input.compact{padding:6px 8px;font-size:11px;min-width:120px}.onboarding-list{display:flex;flex-direction:column;gap:8px;margin:20px 0}.onboarding-step{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#faf9fd}.onboarding-step>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#eee9ff;color:#654fd0;font-weight:900}.onboarding-step>i{font-style:normal;color:var(--accent);font-size:12px}.onboarding-step.done{background:#f7fcf9;border-color:#d5ebdf}.onboarding-step.done>span{background:#e3f5eb;color:#18734f}.onboarding-step.done>i{color:#18734f}.card pre{white-space:pre-wrap;word-break:break-word}.legal-hint strong{color:var(--ink)}
@media(max-width:1050px){.system-strip{grid-template-columns:1fr}.quick-extend{align-items:flex-start;flex-direction:column}}
@media(max-width:820px){.sidebar nav{max-height:none;overflow:visible}.inline-restore{min-width:220px}.system-strip{grid-template-columns:1fr}}
@media(max-width:520px){.extend-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.extend-actions form:last-child{grid-column:1/-1}.extend-actions .btn{width:100%}.inline-restore{display:grid;grid-template-columns:1fr;min-width:180px}.onboarding-step{grid-template-columns:auto 1fr}.onboarding-step>i{grid-column:2}.system-strip>a{padding:15px}}

/* REM-SOFT Client footer FINAL v1.0.5 */
.area-admin .app-legal-footer,.area-cabinet .app-legal-footer{margin:28px 0 0!important;padding:0!important;background:transparent!important;border:0!important;color:#8e899a!important}
.area-admin .app-legal-footer .legal-footer-inner,.area-cabinet .app-legal-footer .legal-footer-inner{width:100%!important;max-width:none!important;margin:0!important;padding:18px 0 4px!important;border-top:1px solid #ddd8e8!important;background:transparent!important}
.area-admin .app-legal-footer nav,.area-cabinet .app-legal-footer nav{display:flex!important;gap:14px!important;flex-wrap:wrap!important;margin:8px 0!important}
.area-admin .app-legal-footer a,.area-cabinet .app-legal-footer a{color:#625b78!important}
.area-admin .app-legal-footer p,.area-cabinet .app-legal-footer p{margin:8px 0 0!important;color:#9a94a8!important;font-size:10px!important;line-height:1.5!important}
body.area-public{background:#171128!important}
body.area-public>.public-shell,body.area-public>.auth-shell,body.area-public>.legal-shell{margin-bottom:0!important}
body.area-public>.public-legal-footer{display:flow-root!important;margin:0!important;padding:22px 28px 24px!important;background:#171128!important;border:0!important;color:#aaa0c3!important}
body.area-public>.public-legal-footer>.legal-footer-inner{max-width:1180px!important;margin:0 auto!important;padding:18px 0 0!important;border-top:1px solid rgba(255,255,255,.12)!important;background:transparent!important}
body.area-public>.public-legal-footer .legal-footer-inner>div{margin:0!important}
body.area-public>.public-legal-footer nav{margin:9px 0!important}
body.area-public>.public-legal-footer a{color:#d6cfee!important}
body.area-public>.public-legal-footer p{margin:8px 0 0!important}
@media(max-width:820px){body.area-public>.public-legal-footer{padding:18px 20px 22px!important}.area-admin .app-legal-footer,.area-cabinet .app-legal-footer{margin-top:22px!important}}
