This commit is contained in:
javad committed 2026-09-10 11:34:19 +03:30
commit fa9d154db9
260 files changed
+17643

No files matched your search

+1
View File
@@ -0,0 +1 @@
:root{font-family:Tahoma,Arial,sans-serif;color:#172033;background:#f4f7fb;line-height:1.7;--brand:#075985;--accent:#0ea5e9}*{box-sizing:border-box}body{margin:0}.top{height:68px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1200px)/2));position:sticky;top:0;z-index:5}.brand{font-weight:800;color:var(--brand);font-size:1.15rem}.top nav{display:flex;gap:18px}.container{max-width:1200px;margin:30px auto;padding:0 18px}a{color:#0369a1;text-decoration:none}h1,h2,h3{line-height:1.35}.card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px;box-shadow:0 4px 18px #0f172a0a}.auth{max-width:470px;margin:8vh auto}.form-card{max-width:760px;margin:auto}.muted{color:#64748b}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.button,button{display:inline-block;background:var(--brand);color:#fff;border:0;border-radius:10px;padding:10px 18px;font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}label{font-weight:700;display:block;margin-bottom:5px}input,textarea,select{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:10px 12px;font:inherit;background:#fff}textarea{min-height:120px}.errorlist{color:#b91c1c}.flash{padding:12px;border-radius:9px;background:#dbeafe;margin-bottom:15px}.flash.error{background:#fee2e2}.ticket-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.ticket{display:flex;flex-direction:column;gap:7px;color:inherit}.ticket h2{font-size:1.05rem;margin:0}.badge{background:#e0f2fe;color:#075985;border-radius:999px;padding:3px 10px;display:inline-block;font-size:.82rem}.priority-urgent{background:#fee2e2;color:#991b1b}.priority-important{background:#fef3c7;color:#92400e}.empty{text-align:center;padding:70px 20px;background:#fff;border-radius:16px}.staff-list{display:grid;gap:10px}.staff-list .ticket{flex-direction:row;align-items:center;justify-content:space-between}.search{display:flex;gap:8px;max-width:600px}.staff-layout{display:grid;grid-template-columns:230px minmax(0,1fr) 230px;gap:16px;align-items:start}.conversation{display:grid;gap:12px;max-height:62vh;overflow:auto}.message{background:#f1f5f9;border-radius:14px;padding:12px 16px;max-width:82%}.message.mine{background:#e0f2fe;margin-right:auto}.message.note{background:#fff7ed;border:1px dashed #fb923c;max-width:100%}.message header{display:flex;justify-content:space-between;gap:15px;font-size:.82rem}.message p{white-space:normal}.attachment{display:block;padding:6px;background:#ffffffaa;border-radius:6px;margin-top:6px}.composer{margin-top:14px}.mode{display:flex;gap:8px}.mode button{background:#e2e8f0;color:#334155}.mode button.active{background:var(--brand);color:#fff}.mode button.note-button{background:#c2410c}.voice{display:flex;align-items:center;gap:8px;margin:10px 0}dl{display:grid;grid-template-columns:auto 1fr;gap:7px}dd{margin:0;font-weight:bold}details{margin-top:15px}summary{cursor:pointer;font-weight:bold}@media(max-width:850px){.staff-layout{grid-template-columns:1fr}.page-head{align-items:stretch;flex-direction:column}.search{flex-direction:column}.staff-list .ticket{align-items:flex-start;flex-direction:column}.message{max-width:94%}.top{padding:0 15px}}
+2
View File
@@ -0,0 +1,2 @@
.dispatch-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.dispatch-metrics article{display:grid;gap:.25rem;border:1px solid #dce7ef;border-radius:1rem;background:#fff;padding:.9rem 1rem;box-shadow:0 12px 30px -28px #08376b}.dispatch-metrics small{color:#718698;font-size:.62rem}.dispatch-metrics b{color:#123e62;font-size:1.25rem}.dispatch-filter{display:grid;gap:.65rem;border-bottom:1px solid #e3ebf1;background:#f8fbfd;padding:.8rem}.dispatch-filter>div{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.dispatch-filter label{display:grid;gap:.25rem;color:#536d81;font-size:.58rem;font-weight:900}.dispatch-filter input,.dispatch-filter select{width:100%;min-height:2.35rem;border:1px solid #cbd9e5;border-radius:.6rem;background:#fff;padding:.45rem .55rem;color:#173f60;font-size:.62rem}.dispatch-filter footer{display:flex;align-items:center;gap:.5rem}.dispatch-filter button{min-height:2.35rem;flex:1;border:0;border-radius:.6rem;background:#0875aa;color:#fff;font-size:.62rem;font-weight:900}.dispatch-filter footer a{color:#647b8d;font-size:.58rem;font-weight:900}.dispatch-results{display:grid;max-height:34rem;overflow:auto}.operations-pagination{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e5edf3;padding:.7rem .8rem;color:#667e91;font-size:.6rem}.operations-pagination a{border-radius:.55rem;background:#e8f4fb;padding:.4rem .65rem;color:#0873a9;font-weight:900}
@media(max-width:700px){.dispatch-metrics{display:flex;overflow-x:auto}.dispatch-metrics article{min-width:8.5rem}}
+11
View File
@@ -0,0 +1,11 @@
.dashboard{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}.filters{position:sticky;top:88px}.tabs{display:grid;gap:6px;margin-bottom:18px}.tabs a{padding:7px;border-radius:8px}.tabs a:hover{background:#e0f2fe}.filter-form{display:grid;gap:10px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.metrics{display:flex;flex-wrap:wrap;gap:8px}.metrics span{background:#fff;border:1px solid #e2e8f0;border-radius:9px;padding:5px 10px}.danger,.overdue{color:#b91c1c}.danger-button{background:#b91c1c;padding:6px 10px}.grant,.message-actions,.history-item{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:8px}.history-item{align-items:flex-start;flex-direction:column;border-top:1px solid #e2e8f0;padding-top:8px}.message-actions{justify-content:flex-end;font-size:.85rem}.message-actions details{margin:0}button:focus,input:focus,textarea:focus,select:focus,a:focus{outline:3px solid #7dd3fc;outline-offset:2px}@media(max-width:850px){.dashboard{grid-template-columns:1fr}.filters{position:static}}
/* Organizational operations pages */
.operations-toolbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(150px,1fr)) auto;gap:.75rem;padding:1rem;border-bottom:1px solid var(--line,#e5e7eb)}
.operations-toolbar input,.operations-toolbar select{min-height:44px;border:1px solid #d9e1e8;border-radius:10px;background:#fff;padding:.65rem .8rem}
.operations-toolbar button{border:0;border-radius:10px;background:#176b54;color:#fff;padding:.65rem 1.2rem;font-weight:700}
.operations-form-card{max-width:850px;margin-inline:auto;padding:1.2rem}
.table-subtitle{display:block;margin-top:.3rem;color:#64748b;font-size:.76rem;max-width:320px;white-space:normal}
.tag-chip{display:inline-block;margin:.15rem;padding:.18rem .48rem;border-radius:999px;background:#e7f5ef;color:#176b54;font-size:.75rem}
.operations-metrics{grid-template-columns:repeat(5,minmax(120px,1fr));margin-bottom:1rem}
.form-hint{direction:ltr;text-align:left;overflow-wrap:anywhere;padding:.7rem;border-radius:9px;background:#f3f6f8;color:#52677d;font-size:.75rem}
@media (max-width:900px){.operations-toolbar{grid-template-columns:1fr}.operations-metrics{grid-template-columns:repeat(2,1fr)}.staff-mobile-dock{overflow-x:auto;justify-content:flex-start}.staff-mobile-dock>a,.staff-mobile-dock>form{min-width:74px;flex:0 0 auto}}
+45
View File
@@ -0,0 +1,45 @@
/* Staff organizational operations — intentionally scoped to avoid regressions. */
.operations-page{display:grid;gap:1rem;min-width:0}
.operations-page .staff-page-head{margin-bottom:0}
.operations-page .ticket-stream,.operations-page .filters{border:1px solid #d9e4ee;background:#fff;box-shadow:0 18px 45px -38px rgba(8,55,107,.55)}
.operations-page .ticket-stream{border-radius:1rem;overflow:hidden}
.operations-page .filters{border-radius:1rem;padding:1rem}
.operations-page .stream-head{min-height:4.5rem;padding:1rem 1.15rem;border-bottom:1px solid #e5edf4;background:linear-gradient(135deg,#fff,#f6fbff)}
.operations-page .filter-form{display:grid;gap:.9rem}
.operations-page .filter-form label{display:grid;gap:.4rem;color:#294762;font-size:.75rem;font-weight:800}
.operations-page .filter-form input,.operations-page .filter-form select,.operations-page .filter-form textarea{width:100%;min-height:2.9rem;border:1px solid #cbd9e5;border-radius:.75rem;background:#fff;padding:.68rem .8rem;color:#143552;box-shadow:0 1px 2px rgba(8,55,107,.03)}
.operations-page .filter-form textarea{min-height:9rem;resize:vertical;line-height:1.9}
.operations-page .filter-form select[multiple]{min-height:8rem}
.operations-page .filter-form button,.operations-toolbar button{min-height:2.9rem;border:0;border-radius:.75rem;background:linear-gradient(135deg,#087dc1,#075a94);color:#fff;padding:.7rem 1.1rem;font-weight:900;box-shadow:0 10px 24px -16px #075a94}
.operations-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:.75rem;padding:1rem;border-bottom:1px solid #e5edf4;background:#f9fcff}
.operations-toolbar input,.operations-toolbar select{min-height:2.8rem;border:1px solid #cbd9e5;border-radius:.75rem;background:#fff;padding:.65rem .8rem}
.operations-page .table-scroll{overflow:auto;scrollbar-width:thin}
.operations-page table{width:100%;border-collapse:separate;border-spacing:0;min-width:820px}
.operations-page th{position:sticky;top:0;z-index:1;background:#eef6fc;color:#35556f;font-size:.69rem;font-weight:900;text-align:right;white-space:nowrap;padding:.8rem .9rem;border-bottom:1px solid #d5e3ee}
.operations-page td{padding:.85rem .9rem;border-bottom:1px solid #edf2f6;color:#243f56;font-size:.73rem;vertical-align:top;line-height:1.75}
.operations-page tbody tr:hover td{background:#f8fcff}
.operations-page td a{color:#0874b5;font-weight:900}
.table-subtitle{display:block;margin-top:.2rem;color:#718598;font-size:.65rem;max-width:22rem;white-space:normal;line-height:1.65}
.tag-chip,.status-pill{display:inline-flex;align-items:center;margin:.12rem;padding:.18rem .5rem;border-radius:999px;background:#e7f5ef;color:#176b54;font-size:.65rem;font-weight:800}
.status-pill.is-danger{background:#fff0f0;color:#b42318}.status-pill.is-muted{background:#eef2f5;color:#627586}.status-pill.is-success{background:#e5f7ef;color:#08734e}
.view-counter{display:inline-grid;place-items:center;min-width:2rem;height:2rem;border-radius:.65rem;background:#e5f4ff;color:#086ea9}
.operations-metrics{grid-template-columns:repeat(5,minmax(110px,1fr));margin:0}
.operations-metrics .stat-card{min-height:7rem}
.operations-page .empty-state{text-align:center;padding:2.5rem;color:#73879a}
.operations-form-card{max-width:860px;width:100%;margin-inline:auto;padding:1.2rem}
.form-hint{direction:ltr;text-align:left;overflow-wrap:anywhere;padding:.7rem;border-radius:.65rem;background:#f3f6f8;color:#52677d;font-size:.65rem}
@media(max-width:1000px){.operations-page .dashboard{grid-template-columns:1fr}.operations-page .filters{position:static}.operations-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.operations-page{gap:.75rem}.operations-toolbar{grid-template-columns:1fr;padding:.75rem}.operations-metrics{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.35rem}.operations-metrics .stat-card{min-width:9rem;scroll-snap-align:start}.operations-page .ticket-stream,.operations-page .filters{border-radius:.8rem}.operations-page td,.operations-page th{padding:.7rem}.staff-mobile-dock{overflow-x:auto;justify-content:flex-start}.staff-mobile-dock>a,.staff-mobile-dock>form{min-width:74px;flex:0 0 auto}}
/* Unified visual language for the staff operations suite. */
.operations-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:1.25rem;background:linear-gradient(125deg,#082f55 0%,#0a5684 62%,#087c94 100%);padding:1.55rem 1.75rem;color:#fff;box-shadow:0 22px 48px -32px rgba(8,47,85,.8)}
.operations-hero:after{position:absolute;left:-4rem;top:-6rem;width:17rem;height:17rem;border-radius:50%;background:rgba(77,208,225,.12);content:""}.operations-hero>div{position:relative;z-index:1}.operations-hero .eyebrow{margin:0 0 .35rem;color:#8de3e8;font-size:.7rem;font-weight:900;letter-spacing:.06em}.operations-hero h1{margin:0;font-size:1.7rem;line-height:1.5}.operations-hero p:last-child{max-width:48rem;margin:.35rem 0 0;color:rgba(255,255,255,.68);font-size:.78rem;line-height:1.9}.operations-hero-actions{display:flex;align-items:center;gap:.65rem;flex:none}.operations-hero-actions .button{min-height:2.75rem;border-color:rgba(255,255,255,.28);background:#fff;color:#0a426c;box-shadow:none}.operations-hero-actions .button-secondary{background:rgba(255,255,255,.09);color:#fff}.security-callout,.template-guide{display:flex;align-items:center;gap:.7rem;flex:none;border:1px solid rgba(255,255,255,.18);border-radius:1rem;background:rgba(255,255,255,.09);padding:.7rem .9rem;backdrop-filter:blur(8px)}.security-callout>span,.template-guide>span{display:grid;width:2.2rem;height:2.2rem;place-items:center;border-radius:.7rem;background:#8de3e8;color:#083b5d;font-weight:900}.security-callout b,.security-callout small,.template-guide b,.template-guide small{display:block}.security-callout b,.template-guide b{font-size:.7rem}.security-callout small,.template-guide small{margin-top:.15rem;color:rgba(255,255,255,.62);font-size:.58rem}
.operations-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}.operations-kpis.compact{grid-template-columns:repeat(3,minmax(0,1fr));max-width:50rem}.operations-kpis article{display:flex;align-items:center;gap:.7rem;min-width:0;border:1px solid #dce7ef;border-radius:1rem;background:#fff;padding:.85rem 1rem;box-shadow:0 12px 30px -28px #08376b}.operations-kpis b,.operations-kpis small{display:block}.operations-kpis b{color:#123e62;font-size:1.25rem;line-height:1}.operations-kpis small{margin-top:.3rem;color:#6f8496;font-size:.62rem;white-space:nowrap}.kpi-icon{display:grid;width:2.4rem;height:2.4rem;flex:none;place-items:center;border-radius:.75rem;background:#e6f6ef;color:#087454;font-weight:900}.kpi-icon.is-blue{background:#e6f4ff;color:#0875b5}.kpi-icon.is-amber{background:#fff4d8;color:#a76b00}.kpi-icon.is-violet{background:#f1eaff;color:#6941c6}.kpi-icon.is-coral{background:#fff0ec;color:#c84d32}
.operations-panel{overflow:hidden;border:1px solid #dce7ef;border-radius:1.1rem;background:#fff;box-shadow:0 18px 45px -38px rgba(8,55,107,.65)}.contact-filter-bar{display:grid;grid-template-columns:minmax(230px,1.7fr) repeat(3,minmax(135px,.8fr)) auto auto;align-items:end;gap:.65rem;padding:1rem;background:linear-gradient(135deg,#f6fbff,#fff);border-bottom:1px solid #e3ecf3}.contact-filter-bar label{display:grid;gap:.35rem;color:#526b80;font-size:.63rem;font-weight:800}.contact-filter-bar input,.contact-filter-bar select{width:100%;min-height:2.65rem;border:1px solid #cbd9e5;border-radius:.7rem;background:#fff;padding:.6rem .7rem;color:#163d5d}.contact-search{position:relative}.contact-search>span{position:absolute;right:.75rem;bottom:.65rem;color:#2588bd;font-size:1rem}.contact-search input{padding-right:2.2rem}.contact-filter-bar button{min-height:2.65rem;border:0;border-radius:.7rem;background:#0a6ea7;padding:.6rem 1rem;color:#fff;font-size:.7rem;font-weight:900}.filter-reset{display:grid;min-height:2.65rem;place-items:center;color:#64798c;font-size:.65rem;font-weight:800}.contact-result-meta{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.1rem;border-bottom:1px solid #e8eff4}.contact-result-meta b,.contact-result-meta small{display:block}.contact-result-meta b{color:#173f61;font-size:.75rem}.contact-result-meta small{margin-top:.15rem;color:#7a8e9e;font-size:.6rem}.contact-result-meta>a{color:#0875b5;font-size:.65rem;font-weight:900}
.contact-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:1rem;background:#f7fafc}.contact-card{display:grid;gap:.75rem;min-width:0;border:1px solid #dce7ef;border-radius:1rem;background:#fff;padding:1rem;transition:.18s ease;box-shadow:0 10px 28px -26px #08376b}.contact-card:hover{transform:translateY(-2px);border-color:#9dcbe2;box-shadow:0 18px 36px -29px #08376b}.contact-card header{display:flex;align-items:center;gap:.7rem}.contact-avatar{display:grid;width:2.65rem;height:2.65rem;flex:none;place-items:center;border-radius:.8rem;background:linear-gradient(145deg,#dff4ff,#dff7ef);color:#084d73;font-size:1rem;font-weight:900}.contact-identity{min-width:0;flex:1}.contact-identity h2{overflow:hidden;margin:0;color:#153f60;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.contact-identity p{overflow:hidden;margin:.15rem 0 0;color:#718698;font-size:.63rem;text-overflow:ellipsis;white-space:nowrap}.contact-type{flex:none;border-radius:999px;background:#e7f4fb;padding:.2rem .48rem;color:#146b98;font-size:.57rem;font-weight:900}.contact-type.type-supplier{background:#fff3d8;color:#966000}.contact-type.type-carrier{background:#f0eaff;color:#6841b8}.contact-meta{display:flex;flex-wrap:wrap;gap:.4rem .9rem;color:#5f7689;font-size:.64rem}.contact-groups{display:flex;min-height:1.6rem;flex-wrap:wrap;gap:.3rem}.contact-groups span{border-radius:999px;background:#edf5f8;padding:.18rem .48rem;color:#49677c;font-size:.58rem;font-weight:800}.contact-groups small{color:#93a2ae;font-size:.6rem}.contact-ticket-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem}.contact-ticket-stats span{display:grid;gap:.1rem;border-radius:.6rem;background:#f3f6f8;padding:.45rem;text-align:center;color:#718394;font-size:.55rem}.contact-ticket-stats b{color:#173f60;font-size:.82rem}.contact-ticket-stats .needs-action{background:#fff5df;color:#916000}.contact-ticket-stats .needs-action b{color:#c37700}.contact-card footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf2f5;padding-top:.7rem}.contact-card footer a{color:#557187;font-size:.64rem;font-weight:900}.contact-card footer .primary-action{border-radius:.6rem;background:#e8f6ff;padding:.4rem .65rem;color:#0875b5}.contact-empty{grid-column:1/-1}.contact-empty>span{display:grid;width:3rem;height:3rem;margin:0 auto .5rem;place-items:center;border-radius:1rem;background:#eaf5fb;color:#1679aa;font-size:1.3rem}
.operations-split,.template-layout,.dispatch-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:1rem}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border-bottom:1px solid #e5edf3;background:#f8fbfd}.panel-heading small{color:#74889a;font-size:.6rem}.panel-heading h2{margin:.15rem 0 0;color:#173f60;font-size:.95rem}.panel-heading>span{border-radius:999px;background:#e7f4fb;padding:.3rem .6rem;color:#126c9d;font-size:.6rem;font-weight:900}.group-card-list,.template-card-list{display:grid;gap:.55rem;padding:.8rem}.group-card,.template-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.75rem;border:1px solid #e0e9ef;border-radius:.8rem;padding:.75rem;transition:.15s}.group-card:hover,.template-card:hover{border-color:#acd2e5;background:#fafdff}.group-symbol,.template-icon{display:grid;width:2.35rem;height:2.35rem;place-items:center;border-radius:.7rem;background:#e8f5fb;color:#0870a6;font-weight:900}.group-card h3,.template-card h3{margin:0;color:#173f60;font-size:.78rem}.group-card p,.template-card p{margin:.12rem 0;color:#667d90;font-size:.62rem}.group-card small,.template-card small{color:#8a9aa7;font-size:.56rem}.group-card>a,.template-card>a{color:#0875b5;font-size:.62rem;font-weight:900}.operations-form-side{overflow:hidden;border:1px solid #d8e4ec;border-radius:1rem;background:#fff;box-shadow:0 18px 40px -36px #08376b;position:sticky;top:5.6rem}.operations-form-side>header{display:flex;align-items:center;gap:.65rem;padding:1rem;background:linear-gradient(135deg,#0a4d78,#087b91);color:#fff}.operations-form-side>header>span{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.6rem;background:rgba(255,255,255,.16);font-weight:900}.operations-form-side header small{font-size:.56rem;color:rgba(255,255,255,.65)}.operations-form-side header h2{margin:.12rem 0 0;font-size:.85rem}.operations-form{display:grid;gap:.75rem;padding:1rem}.operations-form label{display:grid;gap:.35rem}.operations-form label>span{color:#405e75;font-size:.65rem;font-weight:900}.operations-form input,.operations-form select,.operations-form textarea{width:100%;min-height:2.65rem;border:1px solid #c8d8e4;border-radius:.7rem;background:#fbfdff;padding:.6rem .7rem;color:#143e60}.operations-form textarea{min-height:6rem;resize:vertical}.operations-form button{min-height:2.75rem;border:0;border-radius:.7rem;background:linear-gradient(135deg,#0879b7,#075b8d);color:#fff;font-size:.7rem;font-weight:900}.operations-form>a{text-align:center;color:#6e8293;font-size:.62rem;font-weight:800}.operations-form .errorlist,.editor-section .errorlist,.dispatch-composer .errorlist{margin:0;padding:0;color:#b42318;font-size:.6rem;list-style:none}
.contact-editor,.dispatch-composer{display:grid;gap:.85rem}.contact-editor{max-width:58rem;width:100%;margin-inline:auto}.editor-section,.dispatch-composer>section{overflow:hidden;border:1px solid #dbe6ee;border-radius:1rem;background:#fff;box-shadow:0 15px 38px -35px #08376b}.editor-section>header,.dispatch-composer>section>header{display:flex;align-items:center;gap:.7rem;border-bottom:1px solid #e8eef3;padding:.85rem 1rem;background:#f9fcfe}.editor-section>header>span,.dispatch-composer>section>header>span{display:grid;width:2rem;height:2rem;flex:none;place-items:center;border-radius:.65rem;background:linear-gradient(135deg,#0a699f,#098d9c);color:#fff;font-size:.7rem;font-weight:900}.editor-section h2,.dispatch-composer h2{margin:0;color:#173f60;font-size:.82rem}.editor-section header p,.dispatch-composer header p{margin:.15rem 0 0;color:#73889a;font-size:.6rem}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:1rem}.editor-grid label,.group-selector,.message-editor{display:grid;align-content:start;gap:.35rem;color:#3f5f77;font-size:.65rem;font-weight:900}.editor-grid input,.editor-grid select,.group-selector select,.message-editor textarea{width:100%;min-height:2.75rem;border:1px solid #c8d8e4;border-radius:.72rem;background:#fbfdff;padding:.62rem .72rem;color:#123f61}.editor-grid input:focus,.editor-grid select:focus,.group-selector select:focus,.message-editor textarea:focus{border-color:#1689bd;outline:3px solid rgba(22,137,189,.11);background:#fff}.editor-grid small,.group-selector small{color:#7a8e9e;font-size:.56rem;font-weight:500}.editor-grid em,.group-selector em{color:#d05c3b;font-style:normal}.editor-wide{grid-column:1/-1}.group-selector,.message-editor{margin:1rem}.group-selector select{min-height:9rem}.location-status{margin:-.35rem 1rem .85rem;border-radius:.6rem;background:#edf7fc;padding:.55rem .7rem;color:#39708e;font-size:.58rem}.location-status.is-error{background:#fff0ed;color:#b04432}.editor-actions{display:flex;align-items:center;gap:.7rem;border:1px solid #d9e5ed;border-radius:1rem;background:#fff;padding:.8rem}.editor-actions button{min-height:2.75rem;border:0;border-radius:.7rem;background:linear-gradient(135deg,#0879b7,#075b8d);padding:.65rem 1.4rem;color:#fff;font-weight:900}.editor-actions a{color:#657d90;font-size:.65rem;font-weight:900}.editor-actions span{margin-right:auto;color:#8798a5;font-size:.58rem}
.dispatch-composer>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #d7e4ec;border-radius:1rem;background:#fff;padding:.9rem 1rem}.dispatch-composer footer b,.dispatch-composer footer small{display:block}.dispatch-composer footer b{color:#173f60;font-size:.68rem}.dispatch-composer footer small{margin-top:.18rem;color:#73889a;font-size:.56rem}.dispatch-composer footer button{min-height:2.8rem;border:0;border-radius:.72rem;background:linear-gradient(135deg,#0879b7,#087c86);padding:.65rem 1rem;color:#fff;font-size:.68rem;font-weight:900}.message-editor textarea{min-height:11rem;resize:vertical;line-height:1.9}.dispatch-history{overflow:hidden;border:1px solid #d8e4ec;border-radius:1rem;background:#fff;position:sticky;top:5.6rem}.dispatch-history>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5edf3;padding:1rem}.dispatch-history header small{color:#7b8d9d;font-size:.56rem}.dispatch-history header h2{margin:.12rem 0 0;color:#173f60;font-size:.88rem}.dispatch-history header>span{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.65rem;background:#e8f4fb;color:#0873a9;font-size:.65rem;font-weight:900}.dispatch-history>div{display:grid;max-height:39rem;overflow:auto}.dispatch-history-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;border-bottom:1px solid #edf2f5;padding:.75rem;color:inherit}.dispatch-history-card:hover{background:#f7fbfd}.dispatch-state{width:.5rem;height:.5rem;border-radius:50%;background:#8da0ae}.dispatch-state.state-sent{background:#12a36d}.dispatch-state.state-queued{background:#e19b18}.dispatch-state.state-partial{background:#dc5c42}.dispatch-history-card b{display:block;overflow:hidden;color:#24485f;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.dispatch-history-card small{display:block;margin-top:.15rem;color:#718698;font-size:.56rem}.dispatch-history-card p{display:flex;gap:.6rem;margin:.35rem 0 0;color:#8798a5;font-size:.52rem}.dispatch-history-card em{color:#8aa0b0;font-style:normal}
.template-card-list{max-height:44rem;overflow:auto}.variable-box{border:1px dashed #b9cedb;border-radius:.7rem;background:#f7fbfd;padding:.7rem}.variable-box>b{display:block;margin-bottom:.45rem;color:#3e6077;font-size:.62rem}.variable-box>div{display:flex;flex-wrap:wrap;gap:.3rem}.variable-box code{border-radius:.35rem;background:#e7f3f9;padding:.18rem .35rem;color:#075e8d;font-size:.53rem}
@media(max-width:1100px){.operations-kpis{grid-template-columns:repeat(3,1fr)}.contact-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-search{grid-column:1/-1}.operations-split,.template-layout,.dispatch-layout{grid-template-columns:1fr}.operations-form-side,.dispatch-history{position:static}.dispatch-history>div,.template-card-list{max-height:none}}
@media(max-width:700px){.operations-hero{align-items:stretch;flex-direction:column;padding:1.1rem}.operations-hero h1{font-size:1.3rem}.operations-hero-actions{align-items:stretch;flex-direction:column}.security-callout,.template-guide{align-self:stretch}.operations-kpis,.operations-kpis.compact{display:flex;max-width:none;overflow-x:auto;padding-bottom:.25rem}.operations-kpis article{min-width:9rem}.contact-filter-bar{grid-template-columns:1fr}.contact-search{grid-column:auto}.contact-card-grid{grid-template-columns:1fr;padding:.65rem}.contact-result-meta{align-items:flex-start;flex-direction:column;gap:.4rem}.editor-grid{grid-template-columns:1fr;padding:.8rem}.editor-wide{grid-column:auto}.editor-actions,.dispatch-composer>footer{align-items:stretch;flex-direction:column}.editor-actions span{margin:0}.group-card,.template-card{grid-template-columns:auto minmax(0,1fr) auto}.group-card .status-pill,.template-card .status-pill{grid-column:2}.group-card>a,.template-card>a{grid-column:3;grid-row:1/3}.contact-ticket-stats{grid-template-columns:repeat(2,1fr)}}
+2
View File
@@ -0,0 +1,2 @@
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-tracking:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:Vazirmatn,ui-sans-serif,system-ui;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-800:oklch(47.3% .137 46.201);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-800:oklch(43.2% .095 166.913);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-400:oklch(70.4% .04 256.788);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--blur-sm:8px;--blur-xl:24px;--blur-2xl:40px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-ink:#08376b;--color-ink-soft:#0b4c8c;--color-cream:#eee;--color-soft:#eaeaea;--color-paper:#fff;--color-sea:#0693e3;--color-sea-dark:#1977ce;--color-blue:#1977ce;--color-mint:#e5f4ff;--color-coral:#fa9f00;--color-sun:#ffc451}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--defLine truncated
+7
View File
@@ -0,0 +1,7 @@
.intent-finder{display:flex;gap:14px;padding:20px;margin-bottom:20px;border:1px solid #bae6fd;border-radius:20px;background:linear-gradient(135deg,#f0f9ff,#ecfdf5)}
.intent-icon{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:14px;background:#075985;color:#fff;font-size:1.6rem}
.intent-copy{min-width:0;flex:1}.intent-copy h2{margin:0 0 4px;font-size:1.15rem}.intent-copy p{margin:0 0 12px;color:#52677d}
.intent-search{display:flex;align-items:center;background:#fff;border:2px solid #cbd5e1;border-radius:14px;padding:3px 12px}.intent-search:focus-within{border-color:#0284c7;box-shadow:0 0 0 3px #bae6fd}.intent-search input{border:0!important;box-shadow:none!important;margin:0;min-height:46px;flex:1}.intent-search kbd{color:#64748b;font:inherit;font-size:.75rem}
.intent-results{display:grid;gap:8px;margin-top:10px}.intent-result{display:grid;grid-template-columns:1fr auto;gap:3px 10px;text-align:right;padding:11px 13px;border:1px solid #dbeafe;border-radius:12px;background:#fff;color:#0f172a}.intent-result:hover{border-color:#0284c7;background:#f8fdff}.intent-result span{color:#0369a1;font-size:.8rem}.intent-result small{grid-column:1/-1;color:#64748b}.intent-message{margin:8px 2px!important;font-size:.85rem}
.manual-routing{border:1px solid #e2e8f0;border-radius:16px;margin-bottom:22px;overflow:hidden}.manual-routing summary{cursor:pointer;padding:14px 16px;background:#f8fafc;display:flex;justify-content:space-between;gap:8px}.manual-routing summary small{color:#64748b}.manual-routing-body{padding:18px}.routing-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.routing-selectors .field{min-width:0;margin-bottom:8px}.routing-subject{margin-bottom:0}.routing-subject small{display:block;margin-top:6px;color:#64748b;font-weight:500}.location-fields select{width:100%;min-height:48px;background:#fff}.submit-ticket{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));z-index:5}.request-form{min-width:0}
@media(max-width:640px){.request-layout{display:block}.request-aside{display:none}.request-form.card{padding:14px;border-radius:18px}.intent-finder{padding:14px;gap:10px}.intent-icon{width:40px;height:40px;flex-basis:40px}.intent-search kbd{display:none}.manual-routing summary{display:block}.manual-routing summary small{display:block;margin-top:4px}.manual-routing-body{padding:14px}.routing-selectors{gap:8px}.routing-selectors select{padding-inline:10px}.expert-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.expert-card{padding:11px}.expert-card img,.expert-avatar{width:56px;height:56px}.step-title{margin-top:24px}.upload-zone{padding:12px}}
+1
View File
@@ -0,0 +1 @@
.field{margin-bottom:18px}.expert-picker{border:0;padding:0;margin:22px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px}.expert-picker legend{font-weight:700;margin-bottom:10px}.expert-card{position:relative;border:2px solid #e2e8f0;border-radius:14px;padding:15px;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:.2s}.expert-card:has(input:checked){border-color:#0284c7;background:#f0f9ff;box-shadow:0 0 0 3px #bae6fd}.expert-card input{position:absolute;opacity:0}.expert-card img,.expert-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;margin-bottom:8px;background:#e0f2fe;display:grid;place-items:center;font-size:2rem;color:#075985}.expert-card small{color:#64748b}.expert-empty{grid-column:1/-1}.upload-zone{border:2px dashed #94a3b8;border-radius:14px;padding:18px;margin:18px 0;background:#f8fafc}.upload-zone>label{cursor:pointer;color:#0369a1}.file-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px;margin-top:12px}.file-chip{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px;overflow:hidden}.file-chip img{width:100%;height:90px;object-fit:cover;border-radius:7px}.file-chip button{position:absolute;top:3px;left:3px;padding:2px 7px;background:#b91c1c}.file-chip small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-recorder{border-radius:14px;padding:16px;background:#eff6ff;border:1px solid #bfdbfe;margin:18px 0}.voice-head,.voice-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.voice-actions{justify-content:flex-start;margin:12px 0;flex-wrap:wrap}.ghost{background:#fff;color:#b91c1c;border:1px solid #fecaca}.submit-ticket{width:100%;font-weight:700;font-size:1.05rem}