:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#17212b;background:#e7edf2;--blue:#3390ec;--muted:#8695a3;--line:#edf0f3}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #9dc9f6;outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--blue)}.compat{display:none!important}#content{height:100vh;height:100dvh;overflow:hidden}.messenger{display:grid;grid-template-columns:342px minmax(0,1fr);height:100%;max-width:1600px;margin:auto;box-shadow:0 0 60px #1c395c0b}.rail{background:white;border-right:1px solid #dce3e9;display:flex;flex-direction:column;min-height:0;z-index:3}.rail-top{height:82px;display:flex;align-items:center;justify-content:space-between;padding:18px 22px 12px}.rail-title{font-size:21px;font-weight:650;letter-spacing:-.4px}.rail-caption{font-size:12px;color:var(--muted);margin-top:3px}.icon-button{border:0;background:transparent;color:#7d8d9b;width:36px;height:36px;display:inline-flex;justify-content:center;align-items:center;border-radius:50%;flex-shrink:0}.icon-button:hover{background:#f0f4f7}.icon-button.blue{color:var(--blue)}.svg{width:23px;height:23px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.rail-controls{display:flex;gap:3px}.searchbox{margin:8px 16px 15px;position:relative}.searchbox .svg{position:absolute;top:11px;left:12px;width:18px;height:18px;color:#9aa8b4}.searchbox input{width:100%;background:#f0f3f5;border:0;border-radius:9px;padding:11px 12px 11px 39px;outline:none;font-size:13px;color:#17212b}.searchbox input:focus{box-shadow:0 0 0 2px #b9dafa}.rail-filters{display:flex;gap:23px;padding:0 24px;border-bottom:1px solid var(--line)}.rail-filters button{border:0;background:none;padding:0 0 13px;font-size:12px;font-weight:550;color:var(--muted);position:relative}.rail-filters button.active{color:var(--blue)}.rail-filters button.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--blue);border-radius:3px 3px 0 0}.rail-filters small{margin-left:4px;background:#f0f3f5;color:#8a98a4;border-radius:9px;padding:1px 5px;font-size:10px}.chat-list{overflow-y:auto;flex:1;padding:7px 8px;scrollbar-width:thin}.chat-item{display:flex;gap:12px;width:100%;padding:15px 12px;border:0;background:none;text-align:left;border-radius:9px;align-items:center}.chat-item:hover{background:#f5f7f9}.chat-item.selected{background:#eaf3fc}.avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:#8cb5d6;color:white;width:46px;height:46px;font-size:17px;font-weight:550;letter-spacing:.4px}.avatar.c1{background:#8d9ed0}.avatar.c2{background:#d5a080}.avatar.c3{background:#81b7aa}.avatar.c4{background:#b398c8}.avatar.c5{background:#d2b97c}.chat-copy{min-width:0;flex:1}.chat-line{display:flex;align-items:center;justify-content:space-between;gap:6px}.chat-name{font-size:13px;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-time{font-size:10px;color:#99a6b1;white-space:nowrap}.chat-grade{display:block;font-size:11px;color:var(--muted);margin-top:5px}.chat-preview{display:block;font-size:12px;color:#8b98a4;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:6px;line-height:1.3}.chat-preview em{color:#5a9bcc;font-style:normal}.rail-bottom{border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:white}.device-note{font-size:10px;color:#9ba8b2;text-align:center;padding:10px 12px 4px}.rail-nav{display:flex;justify-content:space-around;padding:5px 8px 10px}.rail-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;padding:7px 14px;border:0;background:none;color:#98a5af;font-size:10px;min-width:75px}.rail-nav .active{color:var(--blue)}.rail-nav .svg{width:22px;height:22px}.settings-menu{position:relative}.settings-menu summary{list-style:none;cursor:pointer}.settings-menu summary::-webkit-details-marker{display:none}.settings-dropdown{position:absolute;top:43px;right:0;min-width:215px;box-shadow:0 8px 40px #1d354329;border:1px solid #e7edf1;border-radius:10px;background:white;padding:7px;z-index:20}.settings-dropdown button{display:block;text-align:left;width:100%;border:0;background:none;padding:11px 10px;font-size:12px;border-radius:6px}.settings-dropdown button:hover{background:#eef5fb}.settings-dropdown small{display:block;line-height:1.6;padding:8px 10px;color:var(--muted);font-size:10px}.conversation{min-width:0;display:flex;flex-direction:column;min-height:0;background:#edf2f6}.conversation-header{height:75px;background:white;border-bottom:1px solid #e2e8ed;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 27px;flex-shrink:0}.person{display:flex;align-items:center;gap:12px;min-width:0}.person .avatar{width:39px;height:39px;font-size:15px}.person-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}.person-sub{font-size:11px;color:#8d9ba6;margin-top:5px}.header-actions{display:flex;gap:10px}.balance-bar{background:#f9fbfd;border-bottom:1px solid #e4ebf0;padding:11px 28px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#7b8d9c;gap:12px;flex-shrink:0}.balance-bar strong{font-size:12px;font-weight:600;color:#4b876c;margin-left:7px}.balance-bar .debt{color:#bb765c}.link-button{border:0;background:none;padding:0;font-size:11px;color:var(--blue)}.timeline{flex:1;overflow-y:auto;padding:25px max(24px,calc((100% - 780px)/2)) 30px;scroll-behavior:smooth;scrollbar-width:thin}.day-separator{text-align:center;margin:6px 0 21px}.day-separator span{display:inline-block;background:#dfe7ee;color:#8798a5;border-radius:12px;font-size:10px;font-weight:500;padding:5px 11px}.bubble-row{display:flex;justify-content:flex-end;margin:0 0 18px;padding-left:55px}.bubble-row.payment{justify-content:flex-start;padding-left:0;padding-right:80px}.bubble{width:min(100%,500px);background:#e0f0ff;padding:17px 19px 11px;border-radius:13px 13px 4px 13px;box-shadow:0 1px 2px #263e5020;position:relative}.bubble-row.payment .bubble{width:auto;min-width:240px;background:white;border-radius:13px 13px 13px 4px}.bubble.planned{background:#fff;border:1px solid #d9e8f5}.bubble.cancelled{background:#e7ecef;color:#81919d;box-shadow:none}.bubble-label{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:550;color:#6a9cc5;margin-bottom:11px}.bubble-label .svg{width:15px;height:15px}.bubble.planned .bubble-label{color:#8196aa}.bubble-row.payment .bubble-label{color:#7ca18b}.bubble-title{font-size:15px;line-height:1.5;font-weight:550;white-space:pre-wrap;overflow-wrap:anywhere}.bubble-block{font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:13px}.bubble-block b{display:block;color:#6c8ba4;font-size:10px;font-weight:550;margin-bottom:4px}.bubble-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#87a1b5;font-size:10px;margin-top:14px}.bubble-edit{border:0;background:none;color:inherit;cursor:pointer;font-size:11px;padding:3px 0;display:flex;align-items:center;gap:7px}.bubble-edit .svg{width:13px;height:13px}.bubble-payment-amount{font-size:23px;color:#538b69;font-weight:500;letter-spacing:-.5px}.bubble .button.small{font-size:11px;padding:8px 11px;margin-top:13px;background:#edf5fd;color:#4793d4;border:0}.composer-wrap{flex-shrink:0;padding:12px 27px 13px;background:#fff;border-top:1px solid #e2e8ed;padding-bottom:max(13px,env(safe-area-inset-bottom))}.composer-meta{font-size:10px;color:#8b9ba7;padding:0 5px 9px;display:flex;align-items:center;gap:8px}.composer-meta button{font-size:10px}.composer{display:flex;gap:10px;align-items:flex-end}.composer>.icon-button{margin-bottom:4px;color:#8e9fab}.composer textarea{width:100%;border:0;resize:none;padding:12px 10px 10px;font-size:13px;line-height:1.5;background:#fff;outline:0;min-height:43px;max-height:110px}.composer textarea::placeholder{color:#a3aeb8}.send-button{border:0;border-radius:50%;width:43px;height:43px;background:var(--blue);color:white;display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-button .svg{width:22px;height:22px;fill:currentColor;stroke:none}.composer-caption{text-align:center;font-size:9px;color:#a5b0b9;margin-top:9px}.empty-thread{display:flex;align-items:center;justify-content:center;flex-direction:column;flex:1;padding:35px;text-align:center;color:#8c9ca9}.empty-thread .empty-icon{width:82px;height:82px;border-radius:50%;background:#e1e9f0;display:flex;align-items:center;justify-content:center;color:#a5b5c3;margin-bottom:22px}.empty-thread .empty-icon .svg{width:38px;height:38px;stroke-width:1.3}.empty-thread h2{font-size:19px;color:#6f8393;font-weight:500;margin:0 0 10px}.empty-thread p{font-size:12px;line-height:1.8;max-width:300px;margin:0 0 20px}.empty-rail{padding:50px 20px;text-align:center;color:#99a6b2;font-size:12px;line-height:1.8}.empty-rail p{margin:8px 0 20px}.button{border:1px solid #dfe7ed;background:white;border-radius:7px;padding:11px 15px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#6084a3}.button.primary{background:var(--blue);border-color:var(--blue);color:white}.button.ghost{background:transparent}.button.small{padding:8px 11px;font-size:11px}.button.danger{color:#ba7163}.text-button{border:0;background:none;color:var(--blue);font-size:12px;padding:8px 0}.screen-page{overflow-y:auto;flex:1;background:#f5f7f9;padding:25px 28px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.toolbar input,.toolbar select{padding:9px 11px;border:1px solid #e2e8ed;border-radius:7px;background:white;font-size:12px;color:#697e8f}.toolbar input[type=search]{flex:1;min-width:160px}.month-label{font-size:12px;color:#92a0ac}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#e8edf1;border:1px solid #e8edf1;border-radius:10px;overflow:hidden;margin-bottom:23px}.stat{background:white;padding:18px}.stat .label{font-size:11px;color:#8c9da9}.stat .value{font-size:25px;font-weight:500;margin:8px 0;letter-spacing:-.6px}.stat .hint{font-size:10px;color:#a5afb8}.panel{background:white;border:1px solid #e5ebef;border-radius:10px;overflow:hidden;margin-bottom:20px}.panel-body{padding:0 18px}.lesson-row{display:grid;grid-template-columns:49px 1fr 27px;gap:11px;padding:19px 0;border-bottom:1px solid var(--line)}.lesson-row:last-child{border:0}.lesson-time{font-size:10px;color:#9aa7b2;line-height:1.8}.lesson-time strong{font-size:13px;font-weight:500;color:#5e768a;display:block}.lesson-title{font-size:12px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.student-link{border:0;background:none;color:inherit;font:inherit;padding:0;text-align:left}.lesson-topic{font-size:13px;line-height:1.6;margin-top:7px}.lesson-meta{font-size:10px;color:#91a1ae;margin-top:6px}.badge{font-size:9px;padding:3px 6px;border-radius:4px;background:#eef3f7;color:#8c9fad}.badge.done{background:#eaf5ef;color:#71a084}.badge.cancelled{background:#f1f1f1;color:#aaa}.note-block{font-size:12px;white-space:pre-wrap;line-height:1.6;margin-top:11px}.note-block b{display:block;font-weight:500;font-size:10px;color:#91a1ae}.notice{padding:14px 16px;background:#eef3f7;color:#7f93a4;border-radius:8px;font-size:11px;line-height:1.7;margin-bottom:22px}.payment-table{width:100%;border-collapse:collapse;font-size:12px}.payment-table th{text-align:left;font-size:10px;color:#9aa7b2;font-weight:500;padding:14px;border-bottom:1px solid var(--line)}.payment-table td{padding:15px 14px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.table-wrap{overflow-x:auto}.muted{color:#8fa0ae}.empty{padding:35px 18px;text-align:center;font-size:12px;color:#93a3af;line-height:1.8}.empty h3{font-size:14px;font-weight:500}.empty p{margin-bottom:18px}.empty-symbol{display:none}.demo-banner{padding:9px 15px;background:#fff7e7;color:#ac946a;font-size:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;line-height:1.5}.demo-banner button{border:0;background:none;color:inherit;text-decoration:underline;font-size:10px}.message-info{padding:14px 25px;background:#f7fafc;border-bottom:1px solid #e3ebf1;color:#879bab;font-size:12px;line-height:1.7;white-space:pre-wrap}.message-info .actions{display:flex;gap:10px;margin-top:10px}.back-button{display:none}dialog{border:0;padding:26px;border-radius:13px;width:min(520px,calc(100% - 24px));max-height:90dvh;overflow:auto;color:#17212b;background:white;box-shadow:0 20px 90px #1c354329}dialog::backdrop{background:#1c34445e;backdrop-filter:blur(2px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.dialog-head h2{font-size:21px;line-height:1.3;font-weight:600;margin:0}.dialog-head .icon-button{font-size:26px}.eyebrow{display:none}.field{margin:15px 0}.field label{display:block;font-size:12px;margin-bottom:8px;color:#7c8f9d}.field input,.field textarea,.field select{width:100%;border:1px solid #dfe7ed;border-radius:7px;background:#fcfdfe;color:#17212b;padding:11px;font-size:14px}.field textarea{resize:vertical;min-height:85px}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #b9dafa}.field small{display:block;margin-top:7px;font-size:10px;color:#9ba9b4;line-height:1.6}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px;padding-top:20px;border-top:1px solid var(--line)}.form-error{color:#b66b5f;font-size:12px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,140px);background:#324d62;color:white;border-radius:9px;box-shadow:0 5px 25px #1b34452e;padding:14px 20px;z-index:50;font-size:12px;max-width:90vw;line-height:1.6;transition:transform .2s}.toast.show{transform:translate(-50%,0)}.toast button{border:0;background:none;color:#b8ddff;text-decoration:underline;font:inherit;margin-left:10px}.top-warning{font-size:11px;padding:10px 20px;background:#fff2e6;color:#a97e5d}.timeline-empty{font-size:12px;text-align:center;color:#99aab7;padding:50px 10px;line-height:1.8}.section-heading{font-size:15px;font-weight:550;margin:25px 0 15px}.archived-note{font-size:11px;color:#9baab5;text-align:center;padding:17px;background:white}.info-toggle{font-size:11px;border:0;background:none;color:#8ba0b1;padding:0}
@media(min-width:1600px){body{padding:25px 0}#content{height:calc(100dvh - 50px)}.messenger{border:1px solid #d5e0e8;border-radius:12px;overflow:hidden}}
@media(max-width:1000px){.messenger{grid-template-columns:300px minmax(0,1fr)}.rail-top{padding-left:18px;padding-right:16px}.conversation-header{padding:13px 18px}.balance-bar{padding:12px 18px}.timeline{padding:22px 18px}.composer-wrap{padding:12px 15px}.bubble-row{padding-left:20px}.bubble-row.payment{padding-right:30px}.screen-page{padding:23px 18px}.person-name{max-width:220px}}
@media(max-width:760px){#content{height:100dvh}.messenger{display:block}.rail{height:100%;width:100%;border:0}.conversation{height:100%;display:none}.messenger.thread-open .rail,.messenger.page-open .rail{display:none}.messenger.thread-open .conversation,.messenger.page-open .conversation{display:flex}.rail-top{height:83px;padding:22px 21px 13px}.rail-title{font-size:24px}.rail-caption{font-size:12px}.chat-item{padding:15px 12px}.chat-name{font-size:15px}.chat-preview{font-size:13px}.chat-grade{font-size:11px}.avatar{width:51px;height:51px;font-size:18px}.chat-time{font-size:11px}.searchbox{margin:8px 18px 17px}.searchbox input{font-size:16px;padding:11px 12px 11px 39px}.rail-filters{padding:0 27px}.rail-filters button{font-size:13px}.rail-nav button{font-size:11px;gap:7px;padding:11px 19px}.rail-nav .svg{width:24px;height:24px}.device-note{font-size:10px;padding-top:12px}.conversation-header{height:72px;padding:12px 12px 12px 5px;gap:6px}.back-button{display:inline-flex;color:var(--blue);width:33px}.person{gap:9px;flex:1}.person .avatar{width:38px;height:38px;font-size:14px}.person-name{font-size:14px;max-width:calc(100vw - 195px)}.person-sub{font-size:10px}.header-actions{gap:0}.balance-bar{padding:12px 17px;font-size:11px}.balance-bar strong{font-size:12px}.timeline{padding:20px 13px 26px}.bubble-row{padding-left:22px;margin-bottom:14px}.bubble-row.payment{padding-right:35px}.bubble{padding:15px 15px 10px;border-radius:12px 12px 4px 12px}.bubble-title{font-size:14px}.bubble-block{font-size:13px}.bubble-block b{font-size:10px}.bubble-label,.bubble-footer{font-size:10px}.composer-wrap{padding:10px 10px max(10px,env(safe-area-inset-bottom))}.composer-meta{font-size:10px;padding-left:10px}.composer textarea{font-size:16px;padding-left:2px}.composer{gap:6px}.composer-caption{font-size:9px}.composer>.icon-button{width:28px}.screen-page{padding:21px 15px}.field input,.field textarea,.field select{font-size:16px}.field-grid{gap:10px}.toast{bottom:20px;min-width:260px}.message-info{padding:12px 17px}.payment-table th,.payment-table td{padding:13px 10px}.stat .value{font-size:23px}.page-open .person{padding-left:4px}.page-open .conversation-header .person-name{max-width:none}.device-note{line-height:1.5}}

.cloud-banner{flex-shrink:0;display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;background:#fff5df;color:#9c7f4a;padding:9px 16px;font-size:10px;line-height:1.6}.cloud-banner #cloud-status{font-weight:600}.cloud-banner #cloud-actions:not(:empty){width:100%;display:flex;gap:13px;flex-wrap:wrap}.cloud-banner button{font-size:10px;border:0;background:none;color:#7e693e;padding:2px 0;text-decoration:underline}.cloud-start{max-width:430px;margin:100px auto;padding:25px;text-align:center;font:14px/1.7 Arial;color:#687d8e}.cloud-start h2{font-size:20px}.cloud-start a{display:block;margin-top:20px;font-size:12px}

.settings-dropdown .cloud-signout{display:block;padding:11px 10px;font-size:12px;text-decoration:none;color:#7b8f9e}
